Что не так с этой простой функцией просмотра? - PullRequest
0 голосов
/ 22 апреля 2019

Файл models.py содержит:

class Story(models.Model):
    title = models.CharField(max_length=255)
    text = models.TextField()
    author = models.ForeignKey(User)

Файл forms.py содержит:

class StoryForm(forms.Form):
    class Meta:
        model = Story

Файл views.py содержит:

def story(request):
    if request.method == 'POST':
        story_form = StoryForm(request.POST)
        if story_form.is_valid():
            story_form.cleaned_data['author'] = request.user.id

Проблема здесь должна заключаться в одном из следующих 4 вариантов:

  1. Story.author должен быть экземпляром "User", поскольку объекты в dict Form.cleaned_data преобразуются в объекты python методом to_python ()

  2. Form.cleaned_data еще не определена

  3. Form.cleaned_data должен быть заполнен только в методах Form.clean () или Form.clean_<field_name>()

  4. Ничего плохого

Моим лучшим предположением было 3, потому что я думал, что 2 недопустимо, потому что cleaned_data является предопределенной функцией, и я не мог понять смысл 1. Какой из 4 является реальной проблемой?

...