Mat*_*ick 5 python django django-forms django-queryset
是否可以设置一个表单的ForeignKey字段的查询集,以便它将采用单独的查询集并将其输出为<optgroup>?
这是我有的:
views.py
form = TemplateFormBasic(initial={'template': digest.template.id})
form.fields['template'].queryset = Template.objects.filter(Q(default=1) | Q(user=request.user)).order_by('name')
Run Code Online (Sandbox Code Playgroud)
在我的模板模型中,我有默认模板和用户创建的模板.我希望它们在<select>盒子中明显分开,例如.
<select>
<optgroup label="Default Templates">
<option>Default 1</option>
<option>Default 2</option>
</optgroup>
<optgroup label="User Templates">
<option>User Template 1</option>
<option>User Template 2</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?
Mat*_*ick 10
views.py
form.fields['template'].choices = templates_as_choices(request)
def templates_as_choices(request):
templates = []
default = []
user = []
for template in Template.objects.filter(default=1).order_by('name'):
default.append([template.id, template.name])
for template in Template.objects.filter(user=request.user).order_by('name'):
user.append([template.id, template.name])
templates.append(['Default Templates', default])
templates.append(['User Templates', user])
return templates
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |