【发布时间】:2011-07-30 16:53:16
【问题描述】:
我有很多具有投票功能的模型,所以我创建了一个这样的结构:
class Voteable(models.Model):
likes_balance = models.IntegerField(default=0, editable=False)
votes = models.ManyToManyField(User, blank=True, editable=False)
likes = models.ManyToManyField(User, blank=True, 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.movie_set”发生冲突。在“likes”的定义中添加一个related_name 参数。
因为我在 Item 类中有更多字段,所以不想将它们全部复制到所有子类中,而只是像错误建议的那样设置 related_name。
有什么建议可以解决吗?
【问题讨论】:
标签: python django django-models