Question

Ok, donc j'ai posté une question récemment au sujet d'une erreur lors de l'ajout d'un ManyToManyField

Les modèles sont ceux ci-dessous

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)

Ceci est l'erreur que je reçois lors de la migration avec django-évolution :

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

Alors, est-il un moyen de régler manuellement un ManyToManyField sans le spécifier dans les deux modèles? disons avec un modèle comme celui-ci

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

mais comment pourrais-je continuer à utiliser ce dans les ORM de Django ?

L'aide serait très apprécié. Merci!

Était-ce utile?

La solution

Même chose, répondre à votre autre question est une raison pour laquelle je ne peux pas ajouter un ManyToManyField? basiquement cette erreur est parce que votre code dans les modèles (ORM) changement, mais la base de données ne sont pas, et django-évolution ne je vous suggère de regarder résout pas de problèmes avec les changements dans la base de données, pour django-extensions ( http://code.google.com/p/django-command-extensions/ ) et la commande sqldiff, mais regardez mon autre réponse

Autres conseils

Ceci est plus ou moins la façon dont je l'aurais fait. En fait, je perplexe au sujet de pourquoi cela ne fonctionne pas, et essayé moi-même dans un environnement Django 1.1 propre - il fonctionne à merveille

.

Avez-vous essayé de mettre ce modèle dans un environnement propre et vous voir ce que vous obtenez?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top