Django 在小部件中定义ModelMultipleEchoiceField的查询集
我正在对大量对象使用modelmultipechoicefield。 我只想显示选定的对象,让用户用js删除一个选项。 要添加选项,用户将打开一个类似于ManyToManyRawidget的弹出窗口 我可以使用以下命令将查询集限制为表单的init中的选定选项:Django 在小部件中定义ModelMultipleEchoiceField的查询集,django,widget,admin,Django,Widget,Admin,我正在对大量对象使用modelmultipechoicefield。 我只想显示选定的对象,让用户用js删除一个选项。 要添加选项,用户将打开一个类似于ManyToManyRawidget的弹出窗口 我可以使用以下命令将查询集限制为表单的init中的选定选项: def __init__(self, *args, **kwargs): super(FormName, self).__init__(*args, **kwargs) self.fields['field
def __init__(self, *args, **kwargs):
super(FormName, self).__init__(*args, **kwargs)
self.fields['field_name'].queryset = self.instance.field_name
但这需要在每个表单上进行手动设置。
是否可以扩展modelmultipechoicefield以从字段选项中获取查询集?
我认为我需要扩展ModelChoiceInterator,但无法理解如何访问模块实例
谢谢我不确定这是否是您想要的,但是如果您想要与auth/user/permissions中相同的“列表穿梭”,您应该尝试一下
class MyForm(forms.ModelForm):
myfield = forms.ModelMultipleChoiceField(
queryset = Category.objects.all(),
widget = admin.widgets.FilteredSelectMultiple(
_('myfield'), False),
required = False,
)
class MyAdmin(admin.ModelAdmin):
form = MyForm
如果您想在admin应用程序之外使用它,您可以使用该小部件,但请确保在模板中导入admin Java脚本谢谢!我很难从Django医生那里弄明白这一点。