我有一些简单的模型,配置文件,认证器和设计器,后两个继承自配置文件(多表继承).在Designer中,有一个用于认证的外键.
class Profile(models.Model):
TYPES = (
('admin', _('Administrator')),
('certifier', _('Certifier')),
('designer', _('Designer'))
)
user = models.OneToOneField(User)
type = models.CharField(max_length=9, choices=TYPES)
def __str__(self):
return self.user.username + ' (' + self.type + ')'
class Admin(Profile):
pass
class Certifier(Profile):
pass
class Designer(Profile):
certifier = models.ForeignKey(Certifier)
在Django 1.8中,这个功能非常好用,但是在1.9中,我得到了;
django.core.management.base.SystemCheckError:SystemCheckError:系统判断发现一些问题:
错误:
check.Designer.certifier:(model s.E006)字段"certifier"与模型"check.profile"中的字段"certifier"冲突.
(在本例中,Profile.type是无关紧要的,我只需要它来区分登录的用户配置文件类型).
判断配置文件显然没有字段"certifier".这是虫子还是我错过了什么?同样的事情也发生在另一个项目中.