Pergunta

Estou limitando as opções de ContentType para uma relação genérica usando limit_choices_to mas mostra modelos que não existem mais.Por exemplo com este código:

 employer_content_type = models.ForeignKey(ContentType,
    limit_choices_to={"model__in": ('venue', 'festival')}, related_name="employer")

Recebo uma lista de opções que contém duplicatas, ou seja,festival, festival, local, local

No entanto, quando limito as opções por aplicativo, em vez de apenas modelos como este:

    employer_content_type = models.ForeignKey(ContentType,
          limit_choices_to={'app_label': 'contacts'}, related_name="employer")

Recebo uma lista de todos os modelos sem duplicatas, ou seja,endereço, e-mail, festival, local

Em determinado momento do meu desenvolvimento, criei um novo aplicativo ("contatos") que era uma duplicata de um aplicativo mais antigo.Todos os modelos tinham os mesmos nomes etc.A princípio pensei que isso estava causando as duplicatas, mas o problema não desapareceu depois que removi o aplicativo antigo de settings.py e excluí os modelos antigos do banco de dados.

Acho que é um problema de cache, mas nunca configurei o cache!

Então, como faço para limpar o cache ou limitar as opções por modelo e aplicativo ao mesmo tempo?

Obrigado pela ajuda!

Observação: Infelizmente não consegui adicionar fotos, então é um pouco difícil de descrever!

Foi útil?

Solução

Procure a tabela contenttypes_contenttype db e exclua os modelos obsoletos dela.O syncdb também deve solicitar que você exclua modelos obsoletos da tabela de tipos de conteúdo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top