Как задать начальное значение в модели - PullRequest
18 голосов
/ 28 июня 2009

Как назначить начальные значения для полей внутри ModelForm? например:

class Form1(forms.Form):
    title=forms.CharField(initial="hello")

Что будет эквивалентно этому при использовании modelForm, базовый синтаксис которого выглядит примерно так:

class Form2(djangoforms.ModelForm):
    class Meta:
        model=SomeModel
        fields=('title',)

Я пытаюсь создать CRUD. Поскольку я делаю это в проекте appengine, я не могу использовать общие представления. Appengine предоставил нам djangoforms.ModelForm, который работает так же, как ModelForm в django, но использует хранилище данных appengine.

Мне нужна описанная выше функциональность для выполнения части "edit".

Ответы [ 2 ]

24 голосов
/ 28 июня 2009

Обычно вы передаете объект модели, который вы редактируете, как ключевое слово экземпляра arg, в форму: Form2(instance = somemodelobject), но я не знаю, работает ли он на GAE. Вы всегда можете передать исходный словарь в конструктор вашей формы, например

Form2(initial = {"title": "blahblah"})
4 голосов
/ 02 октября 2014

Модель формы по умолчанию взяты из самой модели. Например:

class SomeModel(models.Model):
    title  = models.CharField(max_length=45, default="hello")

Вам не нужно вносить изменения в ModelForm:

class RequestForm(forms.ModelForm):

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