equal
deleted
inserted
replaced
145 |
145 |
146 @classmethod |
146 @classmethod |
147 def __initialize__(cls): |
147 def __initialize__(cls): |
148 super(Model, cls).__initialize__() |
148 super(Model, cls).__initialize__() |
149 cls._attributes = frozenset(rschema for rschema in cls.e_schema.subject_relations() |
149 cls._attributes = frozenset(rschema for rschema in cls.e_schema.subject_relations() |
150 if rschema.is_final()) |
150 if rschema.final) |
151 |
151 |
152 def __init__(self, *args, **kwargs): |
152 def __init__(self, *args, **kwargs): |
153 # db.Model prototype: |
153 # db.Model prototype: |
154 # __init__(self, parent=None, key_name=None, **kw) |
154 # __init__(self, parent=None, key_name=None, **kw) |
155 # |
155 # |
160 self._gaeinitargs = None |
160 self._gaeinitargs = None |
161 else: |
161 else: |
162 super(Model, self).__init__(None, None) |
162 super(Model, self).__init__(None, None) |
163 # if Model instances are given in kwargs, turn them into db model |
163 # if Model instances are given in kwargs, turn them into db model |
164 for key, val in kwargs.iteritems(): |
164 for key, val in kwargs.iteritems(): |
165 if key in self.e_schema.subject_relations() and not self.e_schema.schema[key].is_final(): |
165 if key in self.e_schema.subject_relations() and not self.e_schema.schema[key].final: |
166 if isinstance(kwargs, (list, tuple)): |
166 if isinstance(kwargs, (list, tuple)): |
167 val = [isinstance(x, Model) and x._dbmodel or x for x in val] |
167 val = [isinstance(x, Model) and x._dbmodel or x for x in val] |
168 elif isinstance(val, Model): |
168 elif isinstance(val, Model): |
169 val = val._dbmodel |
169 val = val._dbmodel |
170 kwargs[key] = val.key() |
170 kwargs[key] = val.key() |