Halten Sie Django davon ab, Migrationen zu erstellen, wenn sich die Auswahlliste eines Felds ändert.

Ich habe eine Django-Core-App namens "foocore".

Es gibt mehrere optionale Plug-ähnliche Apps. Zum Beispiel "superfoo".

In meinem Fall fügt jedes Plugin eine neue Auswahl in einem Modell CharField hinzu, das zu "foocore" gehört.

Django-Migrationen erkennen Änderungen, wenn sich die Auswahlliste ändert.

Ich denke das ist nicht nötig. Mindestens ein anderer Entwickler meint das Gleiche:

https: //code.djangoproject.com/ticket/2283

class ActivePlugin(models.Model):
    plugin_name = models.CharField(max_length=32, choices=get_active_plugins())

Der Code für die Auswahl:

class get_active_plugins(object):
    def __iter__(self):
        for item in ....:
            yield item

Der Kern "foocore" wird in mehreren Projekten verwendet und jede Installation verfügt über einen unterschiedlichen Satz von Plugins. Django versucht nutzlose Migrationen zu erstellen ....

Gibt es eine Möglichkeit, dies zu umgehen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage