Я хотел бы сделать запрос, где текущий пользователь используется как фильтр в ModelForm:
class BookSubmitForm(ModelForm):
book = forms.ModelChoiceField(queryset=Book.objects.filter(owner=request.user),)
...
Проводит ли Django запрос в форму? Это хорошая практика? Как я могу использовать запрос? (конечно, запрос имени не определен)
Edit:
Я попробовал другое решение, которое должно вызвать форму в представлении, передав ей запрос:
form = BookSubmitForm(request)
а затем в форме я использую это:
class BookSubmitForm(ModelForm):
def __init__(self, request, *args, **kwargs):
super(BookSubmitForm, self).__init__(*args, **kwargs)
self.fields["library"].queryset = Library.objects.filter(owner=request.user)
Он работает, и код находится в форме. Теперь я не уверен, что это лучшее решение, можно ли улучшить его?