Я хотел бы создать набор запросов, где текущий пользователь используется в качестве фильтра в 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)
Работает и код в форме. Теперь я не уверен, что это лучшее решение, можно ли его улучшить?