【发布时间】:2019-11-20 23:40:32
【问题描述】:
我正在尝试创建一个使用 django 对象动态传播的表,其中每一行都是一个 django 模型对象。如果对象属性是外键,则目标是显示所有可能的 FK 选项的下拉列表。为此,我需要检测对象字段是否为 FK,然后检索所有 FK 对象。
这有两个组成部分:
- 我正在努力确定对象属性是否是 FK 关系
- 我正在努力获取与 FK 相同型号的所有对象
伪代码的想法是:
for field in object.fields:
if field is FK:
return field.objects.all()
else:
return field
我知道我可以测试 ForwardManyToOneDescriptor 关系(如下),但是是否有更紧凑的通用方法来测试 FK 关系?
isintance(Foo.bar, db.models.fields.related_descriptors.ForwardManyToOneDescriptor):
有没有办法通过模型类或类的实例来获取 FK 的所有模型对象?
Foo.bar.all() 或 Foo.objects.first().bar.all()
【问题讨论】:
标签: python django python-3.x django-models django-templates