Je suis très nouveau à Django et j'essaie de faire en sorte que je puisse choisir plusieurs choix pour un champ, mais je semble avoir des problèmes avec çaChoix multiple avec options fixes. Ne vois pas les options (Django)
Voici version simplifiée de mon modèle pour un site
class Zone(models.Model):
zone = (
('NE','Northeast'),
('SE','Southeast'),
('SW','Southwest'),
('MW','Midwest'),
('CN','Canada'),
)
class Site(models.Model):
region = models.ManyToManyField(Zone)
state = models.CharField(max_length = 30)
...
class SiteForm(ModelForm):
class Meta:
model = Site
maintenant, il y a plus de zones que je montre ici et potentiellement cela signifie qu'un site peut avoir plusieurs zones simultanément.
fonction de vue simple:
def add_site(request):
if request.method == 'POST':
form = SiteForm(request.POST)
if form.is_valid():
profile = form.save(commit=False)
profile.user = request.user
profile.save()
else:
form = SiteForm()
return render(request, 'index.html', {'form': form,})
Je crois comprendre qu'une fois le formulaire sur la page Web, je doit être présenté avec une boîte avec il choix que je spécifié dans la classe Zone, mais la boîte est complètement vide. Comment puis-je le peupler avec des choix tels que Northwest, Southeast, Southwest, etc?
Votre modèle 'Zone' semble incomplet: il n'a pas de champs! –
Merci! Je l'ai! Fondamentalement, je devais avoir un champ pour un nom de zone dans la classe Zone, puis charger Zone avec toutes les options que je voulais. –