表单字段下拉列表基于登录用户

时间:2017-09-04 18:01:37

标签: django django-forms django-views

如何根据登录用户更改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)

1 个答案:

答案 0 :(得分:0)

<强>尝试:

self.fields['usual_route'].queryset = Route.objects.filter(user =user)
相关问题