首页 > 解决方案 > MultipleChoiceField 中的 Django 选项列表

问题描述

我想以表格形式显示 GraphData 模型中存在的每个现有 graph_id。像这样:

GRAPHS_CHOICES = (GraphData.objects.all().values_list("graph_id", flat=True).distinct())

class GraphForm(forms.Form):
    graphs = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=GRAPHS_CHOICES)
class GraphData(models.Model):
    graph_id = models.CharField(max_length=128)
    date = models.DateField(max_length=128)

问题是选择需要一个元组,而不是一个 id 列表。无论如何,我怎样才能为它提供一个列表?

标签: pythondjangodjango-modelsdjango-forms

解决方案


你可以用这个将 QuerySet 更改为元组

query_tuple = [(q['id'], q['name']) for q in queryset]

推荐阅读