Pon*_*dle 5 python django foreign-keys django-models
所以我有一个模型,评论。在其中,它必须保留对其所评论的内容的引用。
它可以是对博客文章的回复,也可以是对另一条评论的回复,等等。
那么我该如何存储这种关系呢?通常,我只会使用外键存储信息。但是外键要求它知道它引用的模型的类型。
Django 中是否内置了像外键这样可以引用任何类型模型的东西?如果没有,实现这种关系的最佳方式是什么?
这是我的想法:
我可以使用一个整数来存储它响应的对象的 id,然后使用一个 CharField 来存储类型,然后我可以通过执行类似的操作来获取该对象,globals()[type_name].objects.get(id=id)
但我认为如果我如果我使用该方法,则需要执行任何复杂的操作,例如搜索。
或者,我可以为每个可以响应的对象创建一个不同的 Comment 类(当然是自动的)。但这又造成了局限性。我不能再轻易地做这样的事情Comment.objects.get(id=5)
或者我可以让我的评论类为它可能响应的每个可能的事物设置一个外键,为每个评论保留除 1 之外的所有内容。看起来仍然是一个低于标准的解决方案。
建议?
归档时间: |
|
查看次数: |
3488 次 |
最近记录: |