Django 1.8 Circular Dependecy Fehler

Ich habe Schwierigkeiten, Lösungen für dieses Problem online zu finden. Alles, was ich habe, ist "To manually resolve a CircularDependencyError, break out one of the ForeignKeys in the circular dependency loop into a separate migration, and move the dependency on the other app with it. If you're unsure, see how makemigrations deals with the problem when asked to create brand new migrations from your models. In a future release of Django, squashmigrations will be updated to attempt to resolve these errors itself." Von hier aus: docs . Ich bin irgendwie neu für Django-Migrationen, ich würde gerne eine verständlichere und leicht zu beantwortende Antwort.

Ich bekomme diesen Fehler:

  • Konvertieren Sie eine String-Liste zu float32 effizient
  • PyGTK / GIO: Monitorverzeichnis für Änderungen rekursiv
  • Nehmen Sie Screenshot in Python - Cross Platform
  • Das Zählen von Python-Methoden ruft in einer anderen Methode auf
  • Wie deaktiviere ich die Sicherheitszertifizierungsprüfung in Python-Anfragen
  • Pandas Prozentsatz auf eine DataFrame-Gruppe
  •  raise CircularDependencyError(", ".join("%s.%s" % n for n in cycle)) django.db.migrations.graph.CircularDependencyError: libros.0001_initial, perfiles.0001_initial 

    Ich weiß nicht, wie man findet, wo ist die CircularDependency und ich bin nicht sicher, wie es zu lösen Wie Sie sehen können, sind die Migrationen n001 – das ist, weil ich versucht habe, sie zu löschen und es wieder zu tun, funktionierte nicht. Bitte helfen Sie.

    2 Solutions collect form web for “Django 1.8 Circular Dependecy Fehler”

    Sie sollten eine Migration ohne Fremdschlüssel erstellen und später die FK hinzufügen.

    Nehmen wir an, dass Sie diese Modelle erstellen möchten:

    Libros / models.py :

     class Libro(models.Model): name = models.CharField(max_length=20) perfile = models.ForeignKey('perfiles.Perfile', null=True) 

    Perfiles / models.py :

     class Perfile(models.Model): name = models.CharField(max_length=20) libro = models.ForeignKey('libros.Libro', null=True) 

    Natürlich kannst du es nicht wegen der kreisförmigen Abhängigkeit machen. Also kommentiere den Fremdschlüssel im Libro Modell:

     class Libro(models.Model): name = models.CharField(max_length=20) # perfile = models.ForeignKey('perfiles.Perfile', null=True) 

    Und führen Sie zwei Migrationen:

     python manage.py makemigrations libros python manage.py makemigrations perfiles 

    Danach perfile den perfile Fremdschlüssel im Libro Modell und führen eine weitere Migration aus:

     python manage.py makemigrations libros 

    Für diejenigen, die CircularDependencyError getroffen haben – nicht unbedingt mit ForeignKey – Es ist gut, in die Zyklen zu gehen

    Python manage.py makemigrations app_name; Python manage.py migrieren

    Für jede Anwendung in Ihrem Projekt, eins nach dem anderen.

    Das hat für django 1.10 gearbeitet

    Python ist die beste Programmiersprache der Welt.