Мне нужно сделать форму, в которой есть 1 выбор и 1 ввод текста. Выбор нужно брать из базы данных. модель выглядит следующим образом:
class Province(models.Model):
    name = models.CharField(max_length=30)
    slug = models.SlugField(max_length=30)
    def __unicode__(self):
        return self.name
Строки для этого добавляются только администратором, но все пользователи могут видеть это в формах. Я хочу сделать ModelForm. Я сделал что-то вроде этого:
class ProvinceForm(ModelForm):
    class Meta:
        CHOICES = Province.objects.all()
        model = Province
        fields = ('name',)
        widgets = {
            'name': Select(choices=CHOICES),
        }
но это не сработает. Тег select не отображается в html. Что я не так понял?
UPDATE:
Это решение работает так, как я хочу, чтобы он работал:
class ProvinceForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ProvinceForm, self).__init__(*args, **kwargs)
        user_provinces = UserProvince.objects.select_related().filter(user__exact=self.instance.id).values_list('province')
        self.fields['name'].queryset = Province.objects.exclude(id__in=user_provinces).only('id', 'name')
    name = forms.ModelChoiceField(queryset=None, empty_label=None)
    class Meta:
        model = Province
        fields = ('name',)
