【问题标题】:Recommended way to populate foreign key?推荐的填充外键的方法?
【发布时间】:2014-03-03 19:43:27
【问题描述】:

我有一个表故事和评论,其中评论有一个故事的外键,我使用带有评论的模型表单作为模型,其中字段 comment_text 将获取用户输入的数据,但我还需要填充外键在评论表 (storyID) 中键入与其关联的故事的值。我将故事 ID 作为视图函数的参数,但在提交表单后我看不到任何将此值添加到表单的方法,推荐的方法是什么?

编辑:更新了视图和表单。

这是视图:

def add_comment(request, specific_story):
     """ Process a new comment """
     story_details = Story.objects.get(id=specific_story)

     if request.method == 'POST':
         form = NewComment(request.POST)
         if form.is_valid():
             form.save()
             return render(request, "base/story/display_story.html", {'story_details': story_details, 'form': form})
         else:
             form = NewComment()
             return render(request, "base/story/display_story.html", {'story_details': story_details, 'form': form})
     else:
         return render(request, "base/story/display_story.html", {'story_details': story_details })

表格:

class NewComment(ModelForm):
     class Meta:
         model = Comment
         fields = ['comment_text']
         widgets = {
             'comment_text': Textarea(attrs={'class': 'form-control'})
         }

【问题讨论】:

  • 请发表您的看法和表格代码
  • 原始帖子更新了视图和表单代码

标签: python sql django


【解决方案1】:
if form.is_valid():
    comment = form.save(commit=False)
    comment.story = story_details
    comment.save()
    return ...

【讨论】:

  • 谢谢,考虑过 commit=False 但没想到 save 方法返回了对象 :)
猜你喜欢
  • 2016-04-22
  • 1970-01-01
  • 2017-09-05
  • 2012-01-16
  • 2018-05-31
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多