我想在 djano 中为模型设置两个外键当发生特殊情况时,必须创建这些外键之一

问题描述

我想要一个模型有两个外键。当发生特殊情况时,必须创建这些外键之一。我怎样才能写这个并在特定时间调用它?我可以把它写成模型中的函数,并在发生特殊情况时在视图中调用它吗?

解决方法

如果这个特殊的东西是在操作特定对象时,那么您可以使用 django signals,否则如果您想自己处理它,您可以设置 null=True,blank=True 以便数据库可以将该字段设置为 null 和然后您可以在您的视图函数之一中创建该对象并将其分配给相关对象。

,

不确定多个外键的用例是什么,但在问题中

必须在发生特殊情况时创建这些外键之一

这看起来可以使用 Django 信号来实现 https://docs.djangoproject.com/en/3.2/topics/signals/

当您想创建一个新用户或在数据库发生某些变化时修改数据库时,它特别有用