Django - 抽象基类模型导致syncdb异常
我在我的models.py文件里有这些内容:
class AuditableTable(models.Model):
class Meta:
abstract = True
created_by = models.ForeignKey(User,blank=True,
related_name="%(app_label)s_%(class)s_related1")
last_updated_by = models.ForeignKey(User,blank=True,
related_name="%(app_label)s_%(class)s_related1")
class Company(AuditableTable): pass
我觉得我按照这里提到的关于抽象模型的说明在做。
但是当我运行manage.py syncdb的时候,出现了这个错误:
Error: One or more models did not validate:
ItemLocator.company: Accessor for field 'created_by' clashes with related field 'User.itemlocator_company_related1'. Add a related_name argument to the definition for 'created_by'.
ItemLocator.company: Reverse query name for field 'created_by' clashes with related field 'User.itemlocator_company_related1'. Add a related_name argument to the definition for 'created_by'.
ItemLocator.company: Accessor for field 'last_updated_by' clashes with related field 'User.itemlocator_company_related1'. Add a related_name argument to the definition for 'last_updated_by'.
ItemLocator.company: Reverse query name for field 'last_updated_by' clashes with related field 'User.itemlocator_company_related1'. Add a related_name argument to the definition for 'last_updated_by'.
我使用的是Django 1.2。
1 个回答
5
你为 created_by 和 last_updated_by 设置的 related_name 是一样的,这样是不对的。
从我看到的情况来看,你的 Meta 类设置是没问题的,只需要把 related_name 改一下就可以了 :)