我有一个相当复杂的模型,第一次调用MyModel.objects.create(**kwargs)
失败了
AttributeError:“NoneType”对象没有属性“attname”
堆栈跟踪如下所示(在 Django 1.11 中)
django/db/models/manager.py:85: in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
django/db/models/query.py:394: in create
obj.save(force_insert=True, using=self.db)
django/db/models/base.py:807: in save
force_update=force_update, update_fields=update_fields)
django/db/models/base.py:837: in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
django/db/models/base.py:889: in _save_table
pk_val = self._get_pk_val(meta)
django/db/models/base.py:644: in _get_pk_val
return getattr(self, meta.pk.attname)
django/db/models/query_utils.py:114: in __get__
val = self._check_parent_chain(instance, self.field_name)
django/db/models/query_utils.py:131: in __check_parent_chain
return getattr(instance, link_field.attname)
模型定义对我来说看起来不错。我已经检查了所有参数create
呼叫正是我想要的。
我不热衷于通过剥离模型来找出问题,因为模型太复杂了。 (我的所有其他模型,其中许多相似,似乎工作正常。)
那么什么可能导致这个奇怪的消息呢?