Tengo problemas para tratar de entender cómo crear un campo de elección dinámica en django. Tengo un modelo creado algo como:Creando un campo de elección dinámica
class rider(models.Model):
user = models.ForeignKey(User)
waypoint = models.ManyToManyField(Waypoint)
class Waypoint(models.Model):
lat = models.FloatField()
lng = models.FloatField()
Lo que estoy tratando de hacer es crear un whos elección de campo valores son los puntos de referencia asociados con ese piloto (que sería la persona que ha iniciado sesión).
Actualmente estoy preponderantes con init en mis formas, así:
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()])
Pero todo lo que hace es la lista de todos los puntos de ruta, que no están asociados con ningún piloto en particular. ¿Algunas ideas? Gracias.
Use ModelChoiceField si es o no un ModelForm, también funciona en formularios normales. –
¿Qué haces cuando quieres obtener los datos de la solicitud? waypointForm (request.POST) no se validará en el primero, porque los datos para validar ya no están allí. – Breedly
@Ashok ¿Cómo podría usarse el widget CheckboxSelectMultiple en esta instancia? Para la forma de modelo especialmente. – wasabigeek