Python django有1个以上的foreignkey错误

Python django有1个以上的foreignkey错误,python,django,inheritance,django-models,multiple-inheritance,Python,Django,Inheritance,Django Models,Multiple Inheritance,我的模型文件工作得很好。当我用MyModel替换每个models.Model时,一个models.Model的子类会引发 <class 'puppy.cms.models.Appearance'> has more than 1 ForeignKey to <class 'puppy.cms.models.Segment'> 抛出错误的模型: class Appearance(MyModel): appearance_type = models.CharFie

我的模型文件工作得很好。当我用MyModel替换每个models.Model时,一个models.Model的子类会引发

<class 'puppy.cms.models.Appearance'> has more than 1 ForeignKey to <class 'puppy.cms.models.Segment'>
抛出错误的模型:

class Appearance(MyModel):

    appearance_type = models.CharField(max_length=20,
                                       choices=APPEARANCE_TYPE_CHOICES)
    person = models.ForeignKey(Person, related_name='person_appearance')
    item = models.ForeignKey(ManagedItem)

    class Meta:
        unique_together = (('person', 'item'),)

    def __unicode__(self):
        return self.person.__unicode__()
关于:

class Segment(Story, HasStatsTags, HasFullUrl):
...
请注意,Story是ManagedItem的子类,MyModel的子类。您需要在其元类中将MyModel和ManagedItem声明为抽象模型,否则Django将为它们创建一个单独的表,并在它们之间定义FKs

class MyModel(SansHashUrl, models.Model):
    class Meta:
        abstract = True
您需要将MyModel和ManagedItem声明为其元类中的抽象模型,否则Django将为它们创建一个单独的表,并在它们之间定义FKs

class MyModel(SansHashUrl, models.Model):
    class Meta:
        abstract = True

是否确实要迭代每个属性。你为什么不把它变成一个自定义字段呢?在外键/整数字段上运行此操作没有意义…是否确实要迭代每个属性。你为什么不把它变成一个自定义字段呢?在外键/整型字段上运行此命令没有意义。。。