如何使用模型字段的不同值作为 select 字段的选择
How to use model's field's distinct values as select field's choices
我的模型是这样的。
class Student(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
roll_no = models.CharField(max_length=32)
course = models.CharField(max_length=120)
现在我想使用 django_filters 制作一个过滤器表单,并希望使用课程字段的不同值作为 select 输入的选择,但它要求每个值都与唯一 ID 相关联,这字段没有任何唯一 ID。
我试过这个:
class StudentFilter(django_filters.FilterSet):
course = django_filters.ModelChoiceFilter(queryset=Student.objects.values("course",flat = True).distinct(),empty_label=('Course'))
class Meta:
model = Student
fields = []
但是没用。
注意我不想为课程制作单独的模型。
我相信 AllValuesFilter 完全符合您的要求
class StudentFilter(django_filters.FilterSet):
course = django_filters.AllValuesFilter(field_name="course")
class Meta:
model = Student
fields = []
我的模型是这样的。
class Student(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
roll_no = models.CharField(max_length=32)
course = models.CharField(max_length=120)
现在我想使用 django_filters 制作一个过滤器表单,并希望使用课程字段的不同值作为 select 输入的选择,但它要求每个值都与唯一 ID 相关联,这字段没有任何唯一 ID。 我试过这个:
class StudentFilter(django_filters.FilterSet):
course = django_filters.ModelChoiceFilter(queryset=Student.objects.values("course",flat = True).distinct(),empty_label=('Course'))
class Meta:
model = Student
fields = []
但是没用。
注意我不想为课程制作单独的模型。
我相信 AllValuesFilter 完全符合您的要求
class StudentFilter(django_filters.FilterSet):
course = django_filters.AllValuesFilter(field_name="course")
class Meta:
model = Student
fields = []