Добре, затова публикувах наскоро въпрос относно грешка при добавяне на 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 - работи плуващо.
Опитали ли сте да поставите този модел в чиста околна среда сами и да видите какво получавате?