Ich habe Probleme, zu verstehen, wie ein dynamisches Auswahlfeld in Django erstellt wird. Ich habe ein Modell so etwas wie ein:Erstellen eines dynamischen Auswahlfelds
class rider(models.Model):
user = models.ForeignKey(User)
waypoint = models.ManyToManyField(Waypoint)
class Waypoint(models.Model):
lat = models.FloatField()
lng = models.FloatField()
Was ich versuche ein Auswahlfeld whos Werte die mit dem Fahrer zugeordnet Wegpunkte sind zu tun ist, erstellen (die die Person angemeldet sein würde).
Derzeit bin ich überschreiben init in meine Formen wie so:
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()])
Aber alles, was tut, ist die Liste alle Wegpunkte, sie sind nicht mit einem bestimmten Fahrer zugeordnet ist. Irgendwelche Ideen? Vielen Dank.
Verwenden Sie ModelChoiceField, ob es eine ModelForm ist oder nicht - es funktioniert auch auf normalen Formularen. –
Was tun Sie, wenn Sie die Anforderungsdaten abrufen möchten? waypointForm (request.POST) wird in der ersten nicht validiert, da die zu validierenden Daten nicht mehr vorhanden sind. – Breedly
@Ashok Wie könnte das CheckboxSelectMultiple-Widget in diesem Fall verwendet werden? Für die Modellform besonders. – wasabigeek