mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-30 12:34:52 -04:00
- pull out type() ahead of time to cut down on fn calls.
Would replace this with set(dir(self)) but not sure if some class schemes may have issues with dir() (also for low numbers of args, not using the set() probably faster).
This commit is contained in:
@@ -1162,11 +1162,12 @@ def _declarative_constructor(self, **kwargs):
|
||||
attributes of the instance's class are allowed. These could be,
|
||||
for example, any mapped columns or relationships.
|
||||
"""
|
||||
cls_ = type(self)
|
||||
for k in kwargs:
|
||||
if not hasattr(type(self), k):
|
||||
if not hasattr(cls_, k):
|
||||
raise TypeError(
|
||||
"%r is an invalid keyword argument for %s" %
|
||||
(k, type(self).__name__))
|
||||
(k, cls_.__name__))
|
||||
setattr(self, k, kwargs[k])
|
||||
_declarative_constructor.__name__ = '__init__'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user