gpt4 book ai didi

python - django ForeignKey 到任何类型的模型

转载 作者:太空狗 更新时间:2023-10-30 02:34:53 25 4
gpt4 key购买 nike

所以我有一个模型,评论。在其中,它必须保留对其评论的内容的引用。
它可以是对博客文章的回应,它可以是对另一条评论的回应,等等。

那么我该如何存储这种关系呢?通常,我只会用 ForeignKey 存储信息。但是 ForeignKey 要求它知道它引用的模型类型。

Django 中是否内置了可以引用任何类型模型的外键之类的东西?如果不是,实现这种关系的最佳方式是什么?

这是我的想法:

我可以使用一个整数来存储它正在响应的对象的 ID,然后使用一个 CharField 来存储类型,然后我将通过执行类似 globals()[type_name] 的操作来获取该对象。 objects.get(id=id) 但我认为如果我需要做任何复杂的事情,比如如果我使用该方法进行搜索,我会在以后遇到一些问题。

或者,我可以为它可以响应的每个对象创建一个不同的 Comment 类(当然是自动的)。但同样,这会造成限制。我再也不能轻松地做 Comment.objects.get(id=5)

这样的事情了

或者我可以让我的评论类为它可能响应的每个可能的事物设置一个 ForeignKey,为每个评论留下除 1 之外的所有 null。看起来仍然是一个低于标准的解决方案。

建议?

最佳答案

查看 GenericForeignKey在内置的 contenttypes 框架中。

关于python - django ForeignKey 到任何类型的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5931523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com