Установка начального поля в Django - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть форма модели, и я пытаюсь передать начальное значение в одно из полей при вызове формы из представления.

Мое представление имеет следующее:

threadform = ThreadForm(text="hello")

Форма модели выглядит следующим образом:

class ThreadForm(ModelForm):

class Meta:
    model = Thread
    fields = ['title']

def __init__ (self,*args, **kwargs):
    self.fields['title'].initial = kwargs.pop("text")
    super (ThreadForm, self).__init__(*args, **kwargs)

Это даст ошибку "ThreadForm" не имеет атрибута 'fields'.

Если я переверну супер-вызов, то получу " init () получил неожиданный аргумент ключевого слова 'text' ".

Пожалуйста, кто-то может помочь, так как я не могу найти информацию о правильном способе сделать это, поскольку другие, кажется, устанавливают жесткийзакодированное начальное значение, но мое динамическое, так как я хочу заменить буквальное «привет» данными из модели.

1 Ответ

0 голосов
/ 03 декабря 2018
threadform = ThreadForm(initial={'fieldname': value})

Вы можете просто сделать это без конструктора в форме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...