Джанго: Создание формы, которая не устанавливает все обязательные поля модели? - PullRequest
1 голос
/ 01 мая 2011

Используя django / appengine, как я могу представить форму, которая позволяет вводить определенные поля модели, а затем устанавливать дополнительные поля модели в коде. Вызов form.save (commit = False) вызывает исключение, потому что пользователь не установлен. Как правильно Django обращаться с такими случаями?

У меня есть следующие классы моделей и форм:

class FooModel(db.Model):
    user = db.UserProperty(required=True)
    date = db.DateProperty(required=True)

class FooForm(djangoforms.ModelForm):
    class Meta:
        model = models.FooModel
        exclude = ['user']

И следующий код обработчика запроса:

if request.method == 'POST':
    form = forms.FooForm(request.POST)
    # form.save() raises an exception because 'user' is not set
    foo = form.save(commit=False)
    foo.user = users.get_current_user()
    foo.save()

1 Ответ

1 голос
/ 01 мая 2011

Чтобы соответствовать примеру SDK , вы можете опустить required=True в свой UserProperty.

...