如何根据登录用户更改ModelForm
下拉列表中的可用选项?以下示例使用硬编码值(2)。如何传入登录用户的user_id
?谢谢。
models.py
class Route(models.Model):
owner = models.ForeignKey(User)
...
class Driver(models.Model):
owner = models.ForeignKey(User)
....
views.py
class DriverCreate(CreateView):
model = Driver
form_class = DriverCreateForm
success_url = reverse_lazy('driver_list')
template_name = 'driver_create_form.html'
forms.py
class DriverCreateForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.fields['usual_route'].queryset = Route.objects.filter(user = 2)
答案 0 :(得分:0)
<强>尝试:强>
self.fields['usual_route'].queryset = Route.objects.filter(user =user)