外键优于integerfield的优点

2024-05-20 05:46:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定这是不是一个合适的问题。我知道答案,但我真的不知道为什么,当我向我的团队提出这个问题时,我需要证据。你知道吗

我们在Django网站上有很多博客文章。可以“克隆”其中一篇博客文章,将其复制到另一个站点。当前开发人员的方法是获取原始post的pk,并将其作为整型字段存储在克隆post的clone_source。因此,为了得到一个故事的克隆,我们需要:

clones = BlogPost.all_sites.filter(clone_source=pk)

在我看来,这将是更好的结构作为一个外键关系。你知道吗

我说得对吗?为什么?为什么不?你知道吗


Tags: django方法答案证据source站点clone开发人员
1条回答
网友
1楼 · 发布于 2024-05-20 05:46:58
  1. 删除的对象

如果您决定删除原始的post,那么您需要一个单独的查询来处理您希望对克隆的post执行的任何操作,而不是使用FK的on_deletekwarg。你知道吗

  1. 这是一个额外的查询

如注释中所述,外键允许您通过ORM relationship方法直接遍历关系。你知道吗

  1. 数据结构可视化工具

这些将无法从整数字段向下遍历,因为它将认为它位于叶节点。你知道吗

尽管如此,房间里最重要的是“克隆”仍然只是重复的数据,所以我想知道为什么你不让一篇博客文章被引用不止一次,那么你就不必担心如何存储克隆了。你知道吗

相关问题 更多 >