@id2669099

Можно ли заменить поле формы модели в Django?

есть форма, поле 'sizes' присутствует в модели в виде ManyToManyField
class AddForm(forms.ModelForm):
    quantity = forms.IntegerField(min_value=1, initial=1)

    class Meta:
        model = Product
        fields = (
            'sizes',
            'quantity',
        
        def __init__(self, *args, **kwargs):
            product_id = kwargs.pop('product_id', None)
            super(AddForm, self).__init__(*args, **kwargs)
            product = get_object_or_404(Product, id=product_id)
            self.fields['sizes'] = forms.ModelChoiceField(queryset=product.sizes.all())

как можно скрыть поле sizes при рендере страницы и установить для него определённое значение,
делал так:
self.fields['sizes'] = forms.BooleanField(initial=False, widget=forms.HiddenInput)

но в таком случае появляется скрытый инпут, где value="", т.е. пустой запрос, хотя я же указываю, что initial=False
нужно это для того чтобы не показывать поле "размер" для товаров, где он не нужен.
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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