【问题标题】:How to set default for the foreignkey when using a form?使用表单时如何设置外键的默认值?
【发布时间】:2021-10-13 17:06:32
【问题描述】:

场景:我想制作一个应用程序,将服务器(500+)作为模型,另一个模型将帖子作为服务器模型的外键,以记录我们在每台服务器上所做的事情。所以正如我所说,我有两个模型服务器和帖子。

【问题讨论】:

    标签: django django-models django-forms foreign-keys django-viewflow


    【解决方案1】:

    由于您将 cluster_code 传递给表单,因此您可以在 PostForm 中编写一个 init 方法来保存值。

    【讨论】:

      【解决方案2】:

      解决此问题的一种方法是您可以在表单中完全删除 cluster_code

      class PostForm(ModelForm):
      
          class Meta:
      
              model = Post
              fields = ['name','time','cluster_log']
      

      在保存到数据库之前将其添加到帖子中:

              form = PostForm(request.POST)
              if form.is_valid():
                  post = form.save(commit=False)
                  post.cluster_code = cluster_code
                  post.save()
                  redirect('view-post')
      

      【讨论】:

        猜你喜欢
        • 2015-01-10
        • 2012-03-07
        • 2018-08-30
        • 2020-12-14
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 2021-08-16
        相关资源
        最近更新 更多