Mam problem z próbą zrozumienia, jak utworzyć dynamiczne pole wyboru w django. Mam model założyć coś takiego:Tworzenie pola dynamicznego wyboru
class rider(models.Model):
user = models.ForeignKey(User)
waypoint = models.ManyToManyField(Waypoint)
class Waypoint(models.Model):
lat = models.FloatField()
lng = models.FloatField()
Co staram się zrobić, to stworzyć whos wybór pól wartości są waypointy związane z tym kierowcy (co byłoby osoba zalogowany).
Obecnie jestem przesłanianie metody init w moich postaciach tak:
class waypointForm(forms.Form):
def __init__(self, *args, **kwargs):
super(joinTripForm, self).__init__(*args, **kwargs)
self.fields['waypoints'] = forms.ChoiceField(choices=[ (o.id, str(o)) for o in Waypoint.objects.all()])
Ale wszystko, co robi, jest lista wszystkie waypointy, nie są związane z żadnym konkretnym jeźdźca. Jakieś pomysły? Dzięki.
Użyj ModelChoiceField bez względu na to, czy jest to ModelForm - działa również na zwykłych formularzach. –
Co jednak zrobić, gdy chcesz uzyskać dane żądania? waypointForm (request.POST) nie będzie sprawdzany w pierwszym, ponieważ dane do sprawdzenia poprawności są już niedostępne. – Breedly
@Ashok W jaki sposób można użyć widgetu CheckboxSelectMultiple w tym przypadku? Szczególnie dla modelu. – wasabigeek