所以我正在构建一个Django应用程序, 这些是我的几个模型:
class MagicType(models.Model):
name = models.CharField(max_length=155)
parent = models.ForeignKey('self', null=True, blank=True)
class Spell(models.Model):
name = models.CharField(max_length=250, db_index=True)
magic_words = models.CharField(max_length=250, db_index=True)
magic_types = models.ManyToManyField(MagicType)
同步模型时,我收到此错误:
AttributeError: 'ManyToManyField' object has no attribute '_get_m2m_column_name'
这是否有原因发生?我该如何解决这个问题?
非常感谢帮助。
修改
我正在使用django-evolution http://code.google.com/p/django-evolution/
答案 0 :(得分:3)
MagicType是否在相同的模型文件中声明(以及之前)Spell?
magic_types = models.ManyToManyField('MagicType')
是否有效(引用'MagicType')?
答案 1 :(得分:3)
我建议您使用django-extensions,这将为您提供一个比evolution更好的commnad sqldiiff
,因为在MagicType和MagicType之间创建中间表时会出现问题。
我建议你运行命令sqlall yourapp
并直接执行新中间表创建的sql代码。进化不适合你:(