Frage

Ok, so dass ich eine Frage vor kurzem in Bezug auf einen Fehler gebucht, wenn das Hinzufügen eines ManyToManyField

Die Modelle sind die, die unter

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)

Das ist der Fehler, den ich bekomme bei der Migration mit django-evolution :

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

So ist es eine Möglichkeit, manuell einen ManyToManyField Einstellung ohne es innerhalb der beiden Modelle an? sagen wir mal mit einem Modell wie dieses

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

aber wie würde ich mich auf über die Verwendung dieses innerhalb von Django ORM

Hilfe sehr geschätzt würde. Dank!

War es hilfreich?

Lösung

Die gleiche Sache, ich beantworten Ihre andere Frage Ist ein Grund, warum ich nicht ein ManyToManyField hinzufügen? basicly dieser Fehler ist, weil Ihr Code in Modelle (ORM) ändern, aber Ihre Datenbank ist nicht, und django-evolution behebt nicht viele Probleme mit Änderungen in der Datenbank, ich schlage vor, Sie suchen nach django-Erweiterungen ( http://code.google.com/p/django-command-extensions/ ) und der Befehl sqldiff, aber Blick meine andere Antwort

Andere Tipps

Dies ist mehr oder weniger so, wie ich es getan hätte. In der Tat war ich verwirrt darüber, warum dies nicht funktioniert, und versuchte es selbst in einem sauberen Django 1.1-Umgebung - es funktioniert swimmingly

.

Haben Sie versucht, dieses Modell in einer sauberen Umgebung setzen sich selbst und sehen, was Sie bekommen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top