J'utilise enum.Enum comme choix pour la langue du champ.
Je peux créer un livre en b = Book(title="Some Title", language=LanguageChoice.EN)
.
Et interrogation par books = Book.objects.filter(languge=LanguageChoice.EN)
.
Cependant Lorsque je veux créer de nouveaux livres dans le panneau d'administration, le message suivant s'affiche Select a valid choice. LanguageChoice.EN is not one of the available choices.
.
Django a possibilité de sérialiser enum.Enum depuis la version 1.10. Comment doit fonctionner le panneau d'administration ? Merci d'avance.
from enum import Enum
from django.db import models
class LanguageChoice(Enum):
DE = "German"
EN = "English"
CN = "Chinese"
ES = "Spanish"
class Book(models.Model):
title = models.CharField(max_length=255)
language = models.CharField(
max_length=5,
choices=[(tag, tag.value) for tag in LanguageChoice]
)