6
votes

Dans Django Admin, pouvons-nous avoir une sélection multiple basée sur des choix

http://docs.djangoproject.com/fr/dev / ref / modèles / champs / # choix

J'ai lu la documentation et cela implique à l'aide d'une table de base de données pour les données dynamiques, mais il indique

choix est destiné aux données statiques qui ne changent pas beaucoup, si jamais.

Alors, que si je veux utiliser des choix, mais choisissez plusieurs fois que les données que j'utilises sont assez statiques, par exemple des jours de la semaine.

y a-t-il de toute façon pour y parvenir sans une table de base de données?


0 commentaires

3 Réponses :


8
votes

ChoiceField ne convient pas vraiment à plusieurs choix, mais j'utiliserais un PLUSTOMANYFIELD . Ignorer le fait que les choix peuvent être utilisés à la place de l'entreprise étudiante pour les données statiques pour l'instant. S'il s'avère être un problème de performance, il existe des moyens de le représenter différemment (l'une étant une approche de masque binaire), mais elles nécessitent une place de travail.


0 commentaires

4
votes

Ceci a fonctionné pour moi:

1) Créez une classe de formulaire et définissez un attribut pour fournir vos choix statiques à un multiplechoicefield P>

from myapp.models import MyModel
from myapp.forms import MyForm
from django.contrib import admin

class MyAdmin(admin.ModelAdmin):
    form = MyForm

admin.site.register(MyModel, MyAdmin)


1 commentaires

Mais comment myfield défini dans myModel et comment est-il mappé sur dB?



1
votes

essayez de suivre la configuration suivante. Dans modèles.py xxx

in formulaires.py xxx

in < code> admin.py xxx


0 commentaires