@Lepilov

Как сделать наследование modelforms с заменой поля?

Как правильно унаследоваться от базовой формы с изменением одного из полей? Я делаю так, но ожидаемого queryset не получаю, форма SkillCreatePLanguageForm не фильтрует queryset

class SkillBaseCreateForm(forms.ModelForm):
    YEAR_CHOICES = [(r, r) for r in range(1, 11)]
    LAST_YEAR_CHOICES = [(r, r) for r in range(1980, datetime.datetime.now().year + 1)]
    year = forms.CharField(
        widget=forms.Select(choices=YEAR_CHOICES),
    )
    last_year = forms.CharField(widget=forms.Select(choices=LAST_YEAR_CHOICES))
    technology = forms.ModelChoiceField(queryset=Technology.objects.all())
    class Meta:

        model = Skill
        fields = ['technology', 'level', 'last_year', 'year']


class SkillCreatePLanguageForm(SkillBaseCreateForm):
    def __init__(self, *args, **kwargs):
        super(SkillCreatePLanguageForm, self).__init__(*args,**kwargs)
        self.technology = forms.ModelChoiceField(queryset=Technology.objects.filter(group_id='3'))
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
alternativshik
@alternativshik
Потому что self.fields['technology'].queryset = Technology.objects.filter(group_id='3')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы