gpt4 book ai didi

python - 将 与 form.fields.queryset 一起使用?

转载 作者:太空狗 更新时间:2023-10-30 00:28:52 27 4
gpt4 key购买 nike

是否可以设置表单的 ForeignKey 字段的查询集,以便它采用单独的查询集并将它们输出到 <optgroup> 中的?

这是我的:

View .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')

在我的模板模型中,我有默认模板和用户创建的模板。我希望它们在 <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>

这可以做到吗?

最佳答案

我能够使用 this blog 上给出的示例来解决这个问题

View .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

关于python - 将 <optgroup> 与 form.fields.queryset 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1924704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com