/ / Грешка при добавяне на ManyToManyField в Django - питън, django, django-модели, django-orm, django-evolution

Грешка при добавянето на ManyToManyField в Django - python, django, django-models, django-orm, django-evolution

Добре, затова публикувах наскоро въпрос относно грешка при добавяне на a 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)

Това е грешката, която получавам при мигрирането Джанго-еволюция:

AttributeError: "ManyToManyField" object has no attribute "_get_m2m_column_name"

Така че, има ли начин за ръчно настройване на ManyToManyField, без да се уточнява в рамките на двата модела? нека да кажем с такъв модел

class SpellToMagicType(models.Model):
magic_type = models.ForeignKey(MagicType)
spell = models.ForeignKey(Spell)

но как да продължа да използвам това вътре ОРМ на Джанго?

Помощта би била много ценена. Благодаря!

Отговори:

3 за отговор № 1

Същото нещо, аз отговарям на вашия друг въпрос Причината, поради която не мога да добавям "Много поле"? основно тази грешка е, защото вашият код в моделите(ORM), но вашата база данни не е, и django-evolution не решава много проблеми с промените в базата данни, предлагам ви да търсите django-extensions (http://code.google.com/p/django-command-extensions/) и командата sqldiff, но погледнете друг отговор


1 за отговор № 2

Това е повече или по-малко начина, по който бих го направил. Всъщност бях озадачен за това защо това не работи и се опитах сам в чиста среда на Django 1.1 - работи плуващо.

Опитали ли сте да поставите този модел в чиста околна среда сами и да видите какво получавате?