Question

Je limite les choix ContentType pour une relation générique en utilisant limit_choices_to mais il montre des modèles qui n'existent plus.Par exemple avec ce code :

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

J'obtiens une liste de choix comportant des doublons, c'est-à-direfestival, festival, lieu, lieu

Cependant, lorsque je limite les choix par application plutôt que par modèles comme celui-ci :

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

J'obtiens une liste de tous les modèles sans doublons, c'est-à-direadresse, email, festival, lieu

À un moment donné de mon développement, j'ai créé une nouvelle application ("contacts") qui était une copie d'une ancienne application.Tous les modèles portaient les mêmes noms, etc.Au début, je pensais que cela provoquait les doublons, mais le problème n'a pas disparu après avoir supprimé l'ancienne application de settings.py et supprimé les anciens modèles de la base de données.

Je pense que c'est un problème de cache mais je n'ai jamais configuré de mise en cache !

ALORS, comment puis-je vider le cache ou limiter les choix par modèle et par application en même temps.

Merci pour votre aide!

Note: Malheureusement, je n'ai pas pu ajouter de photos donc c'est un peu difficile à décrire !

Était-ce utile?

La solution

Recherchez la table de base de données contenttypes_contentype et supprimez-y les modèles obsolètes.syncdb devrait également vous inviter à supprimer les modèles obsolètes de la table des types de contenu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top