【发布时间】:2022-08-09 18:09:34
【问题描述】:
是否可以在 Django Select2 表单中过滤查询集?
我有一个向用户发送直接消息的表单,我希望能够过滤用户。
s2forms.ModelSelect2Widget,如我所见,选择用户模型的所有实例
现在我需要为用户模型(allow_direct_messages)实现一个标志,如果用户允许发送直接消息,那么我需要相应地过滤它们。
class DirectMessageCreateForm(forms.ModelForm):
class Meta:
model = DirectMessage
fields = (\"author\", \"recipient\", \"content\")
labels = {
\"author\": \"\",
}
widgets = {
\"recipient\": UsersWidget,
\"content\": forms.Textarea(attrs={
\'class\': \'block p-3 w-full text-md bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500\'
\' focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 \'
\'dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500\',
\'placeholder\': \"Type your message here...\"
}),
\"author\": forms.TextInput,
}
class UsersWidget(s2forms.ModelSelect2Widget):
search_fields = [
\"name__icontains\",
\"email__icontains\",
]
也许有人知道如何在里面制作一个自定义查询集ModelSelect2Widget形式?
提前致谢
标签: django django-models django-views django-forms django-select2