Создайте поле внешнего ключа в форме django только для чтения и по-прежнему разрешайте отправку формы - PullRequest
3 голосов
/ 09 июля 2009

Как сделать поле внешнего ключа в форме только для чтения, но при этом разрешить распознавать это поле как действительное после отправки формы? Согласно W3C, отключенные поля пропускаются после отправки формы .... используя код ниже, я могу установить поле как отключенное, то есть только для чтения, но моя форма не проходит

    def __init__(self, *args, **kwargs):
       super(IssuesForm, self).__init__(*args, **kwargs)
       self.fields['vehicle'].widget.attrs['readonly'] = True

Идеи .... * * 1004

Ответы [ 4 ]

2 голосов
/ 09 июля 2009

Я не знаю синтаксиса Django или Python, однако поле ввода type = "hidden" может быть тем, что вы ищете. Если вы хотите по-прежнему отображать значение с помощью отключенного поля, вы также можете сделать это и полагаться на скрытое поле для фактического значения.

0 голосов
/ 22 мая 2019

Я столкнулся с этим вопросом после того, как многие другие решения, похоже, не сработали. Вот пример кода того, как я получил его успешно, используя «скрытое» предложение, на случай, если оно пригодится кому-либо еще.

class EditExifForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(EditExifForm, self).__init__(*args, **kwargs)
        self.fields['image'].widget.attrs['hidden'] = True    # This is the solution
        # Setting as 'readonly' didn't make a difference
        # Setting as 'disabled' made the form not update the database

    class Meta:
        model = exif
        ...
0 голосов
/ 09 августа 2009

У меня была эта проблема, и я использовал JavaScript для решения

0 голосов
/ 09 июля 2009

Может быть, я могу попробовать скрытое поле ... Я знал, что это возможно, но я хотел быть уверен, что другого пути нет

...