Pare o Django de criar migrações se a lista de opções de um campo mudar
Eu tenho um aplicativo principal do django chamado "foocore".
Existem vários aplicativos opcionais do tipo plug-in. Por exemplo "superfoo".
No meu caso, cada plugin adiciona uma nova opção em um modelo CharField que pertence ao "foocore".
As migrações do Django detectam alterações se a lista de opções for alterada.
Eu acho que isso não é necessário. Pelo menos um outro desenvolvedor pensa o mesmo:
https://code.djangoproject.com/ticket/22837
class ActivePlugin(models.Model):
plugin_name = models.CharField(max_length=32, choices=get_active_plugins())
O código para obter as opções:
class get_active_plugins(object):
def __iter__(self):
for item in ....:
yield item
O núcleo "foocore" é usado em vários projetos e cada instalação possui um conjunto diferente de plugins. O Django tenta criar migrações inúteis ....
Existe uma maneira de contornar isso?