创建动态选择字段

创建动态选择字段

我在尝试理解如何在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()])

但所有这一切都是列出所有航点,它们与任何特定的骑手没有联系。有任何想法吗?谢谢。


慕森王
浏览 474回答 3
3回答

ITMISS

有针对您的问题的内置解决方案:ModelChoiceField。通常,ModelForm当您需要创建/更改数据库对象时,始终值得尝试使用。在95%的情况下工作,它比创建自己的实现更清洁。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python