A világ megváltoztatásával vagyok elfoglalva
Írok, ezért vagyok.
Feliratkozás erre a blogra
Kövesse e-mailben
Szűrje a ManyToMany mező választásait egy Django ModelFormban
- Kapcsolatot szerezni
- Egyéb alkalmazások
A jelenlegi projektemben olyan űrlapot kell készítenem, amelyben egy bizonyos felhasználói csoport csak bizonyos típusú adatokkal tud létrehozni. Például:
- Az A csoport 1. felhasználója csak tanulócsoportokkal hozhat létre tanár objektumokat (hallgatói számok, mondjuk ['123', '234'])
- A B csoport 2. felhasználója csak tanulócsoportokkal hozhat létre tanár objektumokat (student_numbers, ['345', '678'])
Így néz ki a modell:
models.py:
a django.db import modellekből
osztály Diák(modellek. Modell):
student_number = modellek. CharField (max_hossz = 6, elsődleges_kulcs = Igaz)
hallgató_neve = modellek. CharField (max_hossz = 20)
def __unicode __ (self):
return self.student_name
osztály Meta:
rendelés = ['hallgató_szám']
osztály Tanár(modellek. Modell):
név = modellek. CharField (max_hossz = 50)
diákok = modellek. ManyToManyField (Student)
def __unicode __ (self):
visszatérés '% s'% (self.name)
osztály Meta:
rendelés = ['név']
verbose_name = "Tanárok"
Az űrlap előállításához és a student_number szerinti szűréshez csak meg kell határoznom a __init__ függvényemet a TeacherForm számára:
from django.forms import ModelForm
a myapps.modelsből importálja a Tanár, a Tanuló
osztály TeacherForm(ModelForm):
def __init __ (én, hallgató_készlet, * érvek, ** kwargs):
szuper (TeacherForm, én) .__ init __ (* arg, ** kwargs)
self.fields ['students']. queryset = Student.objects.filter (student_név__in = student_set)
osztály Meta:
modell = Tanár
mezők = ['név', 'hallgatók']
kizár = []
Tehát a nézetben először meg kell vizsgálnom a felhasználó csoportját annak eldöntésére, hogy a felhasználó mely hallgatókból készíthet, majd továbbítom az űrlappéldánynak:
- A tökmag egészségügyi előnyei a fogyáshoz GNC - DA-Regionális Helyi Iroda III
- FreeTrial) Az 1. számú tintahal egészséges a fogyókúrás munkához DA-regionális területi iroda III
- A tejkirálynő táplálkozási tényei az egészséges étlapválasztások minden étrendhez
- A Davos 2020 fenntartható étkezési lehetőséget kínál a Világgazdasági Fórum vendégeinek
- Christian Bale; s Edzés, étrend és kiegészítők