加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何避免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”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读