djangoで動的選択フィールドを作成する方法を理解しようとして問題が発生しています。私は次のようなモデルを設定しています:
class rider(models.Model):
user = models.ForeignKey(User)
waypoint = models.ManyToManyField(Waypoint)
class Waypoint(models.Model):
lat = models.FloatField()
lng = models.FloatField()
私がやろうとしていることは、選択したフィールドを作成することです。値は、そのライダー(ログインしている人)に関連付けられたウェイポイントです。
現在、私は自分のフォームのinitを次のようにオーバーライドしています:
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()])
ただし、すべてのウェイポイントをリストするだけで、特定のライダーに関連付けられているわけではありません。何か案は?ありがとう。