gpt4 book ai didi

python - Django:如何访问ForeignKey的模型?

转载 作者:行者123 更新时间:2023-11-30 23:45:22 25 4
gpt4 key购买 nike

我需要访问给定模型的 ForeignKey 模型。

这是示例代码:

class modelA(models.db):
field1 = models.ForeignKey('modelB')
class modelB(models.db):
pass
## below is the pseudo code
modelA.get_model_of_fk('field1').objects.all() # fetch all objects of modelB

当然,如果涉及到 modelA 的实例,那就很容易了。但我只是找不到一种方法来做到这一点而不创建 modelA 的实例。

我当前的解决方案:

instance_of_a = modelA.objects.all()[0]
model_b = instance_of_a.field1.__class__
model_b.objects.all() # fetch all objects of modelB

最佳答案

Django 的 ContentType 框架就是为此构建的。您可以引用文档here .

就您而言,

from django.contrib.contenttypes.models import ContentType
model_type = ContentType.objects.get_for_model(modelA.field1)
model_type.model_class().objects.all() # this will get you all objects of the foreign key model

关于python - Django:如何访问ForeignKey的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9543887/

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