Slide 16
Slide 16 text
16
Причина?
В случае с defer() в Model.__init__() значения полей передаются как
**kwargs
def
__init__(self,
*args,
**kwargs):
...
fields_iter
=
iter(self._meta.fields)
if
not
kwargs:
for
val,
field
in
izip(args,
fields_iter):
setattr(self,
field.attname,
val)
#
Далее
идет
длинный
(~70
строк)
код
для
случая
с
kwargs.
#
Этот
код
работает
на
33%
медленней.
#
Сильно
тормозит
хак
для
"умной"
обработки
ForeignKey
полей