Как использовать отличительные значения поля модели в качестве вариантов поля select
<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, и хочу использовать различные значения поля course в качестве вариантов выбора входа 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 = []