- . , .
__init__.
class ExampleForm(forms.ModelForm):
only_unique_values = forms.ChoiceField(
required=False,
choices=[],
widget=forms.Select,
)
def __init__(self, *args, **kwargs):
super(ExampleForm, self).__init__(*args, **kwargs)
self.fields['only_unique_values'].choices = ReadOnlyTable.objects.values_list('pie', 'pie').distinct()
values_list('pie', 'pie') , .
Django 1.8+ __init__. , , .
def unique_values():
return ReadOnlyTable.objects.values_list('pie', 'pie').distinct()
class ExampleForm(forms.ModelForm):
only_unique_values = forms.ChoiceField(
required=False,
choices=unique_values,
widget=forms.Select,
)
, :
def unique_values():
return [("", "---------")] + list(ReadOnlyTable.objects.values_list('pie', 'pie').distinct())