Django 如何从表值初始化ModelMultipleChiceField?
Django 1.4,我在管理页面中使用ModelMultipleChiceField,所以我在表单中添加了如下内容Django 如何从表值初始化ModelMultipleChiceField?,django,django-forms,Django,Django Forms,Django 1.4,我在管理页面中使用ModelMultipleChiceField,所以我在表单中添加了如下内容 class EmailBatchForm(ModelForm): proposals = forms.ModelMultipleChoiceField(required=False,\ widget=FilteredSelectMultiple("proposals", is_stacked=False),\ queryset=BuyRequest.
class EmailBatchForm(ModelForm):
proposals = forms.ModelMultipleChoiceField(required=False,\
widget=FilteredSelectMultiple("proposals", is_stacked=False),\
queryset=BuyRequest.objects.all())
def __init__(self, *args, **kwargs):
它使用值字符串保存到表中,如
“[,]”
当我编辑记录时,我需要用保存值填充modelmultipechoicefield,似乎我必须手动设置它
def __init__(self, *args, **kwargs):
super(EmailBatchForm, self).__init__(*args, **kwargs)
self.initial['proposals'] = BuyRequest.objects.filter(...)
我必须给它一个queryset,但是如何用保存的字符串值过滤queryset呢
保存的字符串值只是对象类型和对象名称的一对,似乎它不能唯一地标识每个记录,我认为逗号分隔的对象键更好,但我如何设置它才能这样保存
谢谢这个小部件是什么?它是由您自己编写的还是由第三方编写的?它是内置的。从django.contrib.admin.widgets导入FilteredSelectMultipleHmm,这不是主题,但请尝试jquery.select2。我知道管理员小部件很好。