使用表单时如何为外键设置默认值?

How to set default for the foreignkey when using a form?

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

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

class PostForm(ModelForm):

    class Meta:

        model = Post
        fields = ['name','time','cluster_log']

并在保存到数据库之前将其添加到 post:

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

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