Mam główną aplikację django o nazwie "foocore".Zatrzymaj Django przed utworzeniem migracji, jeśli zmieni się lista opcji pola
Istnieje kilka opcjonalnych aplikacji do pluginowania. Na przykład "superfoo".
W moim przypadku każda wtyczka dodaje nowy wybór w modelu CharField, który należy do "foocore".
Migracje Django wykrywają zmiany, jeśli lista opcji zostanie zmieniona.
Myślę, że to nie jest konieczne. Co najmniej jeden inny deweloper myśli tak samo:
https://code.djangoproject.com/ticket/22837
class ActivePlugin(models.Model):
plugin_name = models.CharField(max_length=32, choices=get_active_plugins())
kodu, aby uzyskać opcje:
class get_active_plugins(object):
def __iter__(self):
for item in ....:
yield item
Rdzeń „foocore” przyzwyczaja się w kilku projektach i każda instalacja ma inny zestaw wtyczek. Django próbuje utworzyć bezużyteczne migracje ...
Czy istnieje sposób obejścia tego?
Tak to jest straszna cecha. Czuję twój ból. – demux