如何避免django“与相关的m2m字段冲突”错误?
发布时间:2020-12-20 12:18:03 所属栏目:Python 来源:网络整理
导读:我有很多具有投票功能的模型,所以我创建了一个这样的结构: class Voteable(models.Model): likes_balance = models.IntegerField(default=0,editable=False) votes = models.ManyToManyField(User,blank=True,editable=False) likes = models.ManyToManyFie
我有很多具有投票功能的模型,所以我创建了一个这样的结构:
class Voteable(models.Model): likes_balance = models.IntegerField(default=0,editable=False) votes = models.ManyToManyField(User,blank=True,editable=False) likes = models.ManyToManyField(User,editable=False) class Meta: abstract = True class Item(Voteable): title = models.CharField(max_length=20,db_index=True) description = models.TextField(max_length=1000) contact_user = models.ForeignKey(User,null=True,blank=True) class Meta: abstract = True class Movie(Item): cover = models.ImageField(upload_to='images/covers/') class Car(Item): seller = models.CharField(max_length=50) 当我尝试使用“python manage.py syncdb”创建表时,我收到错误消息: m2m字段的访问者’喜欢’与相关字段’User.movi??e_set’的冲突.将related_name参数添加到“likes”的定义中. 因为我在Item类中有更多的字段,所以不想将它们全部复制到所有子类,只是设置像错误建议的related_name. 有什么建议怎么处理吗? 解决方法
I found a solution in Django documention.
可以在抽象模型中编写如下内容:related_name =“%(app_label)s _%(class)s_related” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |