使用模型的ID作为另一个字段的默认值

时间:2017-07-28 20:06:10

标签: django django-models

或者你可以这样做吗?

这不一定是最终结果模型(因为它有点不合逻辑的irl),但是在创建这个模型的时候,我想要做的就是让一个人的两个父母的默认值是这个人本身,所以使用它自己的ID作为父引用。

此时ID的AutoField很好。除非我需要改变它以促进我想要做的事情。

可以理解的是,我会在迁移下面时遇到“自我”错误,但它有助于描述我的示例:

bash -l

所有帮助和评论都表示赞赏。

1 个答案:

答案 0 :(得分:1)

使用default无法做到这一点。在将数据发送到数据库并生成id之前,这些默认值是在Python中计算的。

一种方法是使用数据库触发器,但是你可以通过覆盖save()或处理post_save信号在Django中做同样的事情,因为此时实例的{ {1}}已生成。以下是后者的一个例子:

id