python-在Django中添加ManyToManyField时出错
作者:互联网
好的,所以我最近发布了一个关于添加ManyToManyField时有关错误的问题
型号如下
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)
这是在使用django-evolution迁移时遇到的错误:
AttributeError: 'ManyToManyField' object has no attribute '_get_m2m_column_name'
因此,有没有一种方法可以手动设置ManyToManyField而不在两个模型中指定它?比方说这样的模型
class SpellToMagicType(models.Model):
magic_type = models.ForeignKey(MagicType)
spell = models.ForeignKey(Spell)
但是我将如何在Django的ORM中继续使用它呢?
帮助将不胜感激.谢谢!
解决方法:
同样,我回答了另一个问题Is a reason I can’t add a ManyToManyField?,基本上,该错误是因为您的模型中的代码(ORM)发生了变化,但是您的数据库没有发生变化,并且django-evolution无法解决数据库中发生的许多变化,我建议您寻找django-extensions(http://code.google.com/p/django-command-extensions/)和命令sqldiff,但是看我的另一个答案
标签:django-orm,python,django,django-models,django-evolution 来源: https://codeday.me/bug/20191106/2001697.html