Python 从其他模型(非模型实例)返回外键模型
我有这样的模型:Python 从其他模型(非模型实例)返回外键模型,python,django,Python,Django,我有这样的模型: class B(models.Model): value = models.CharField(etc...) class A(models.Model): name = models.Charfield( fk = models.ForeignKey(B, etc...) 我的数据库中没有A的实例,但B的实例很少。 我想做的是通过Django模板中的模型(不是实例,因为我没有实例)获取B的所有实例。 我在想,既然模型是一个对象,也许我们可以像传递任
class B(models.Model):
value = models.CharField(etc...)
class A(models.Model):
name = models.Charfield(
fk = models.ForeignKey(B, etc...)
我的数据库中没有A的实例,但B的实例很少。
我想做的是通过Django模板中的模型(不是实例,因为我没有实例)获取B的所有实例。
我在想,既然模型是一个对象,也许我们可以像传递任何其他对象一样传递它,并以某种方式使用它的属性
范例
在views.py中:
在template.html中:
呈现为
1
2
3
我理解这是错误的,因为没有A实例,db不知道B与A有任何关系
问题:是否有一种方法可以获得我在示例中提到的类似效果?我找到了一种在视图中有效的方法,但在模板中不起作用 您需要的是这一行:
foo = A.fk.field.related_model.objects.all()
这将提供一个包含所有B
项的查询集:
<QuerySet [<B: B object (1)>, <B: B object (2)>, <B: B object (3)>, <B: B object (4)>, <B: B object (5)>]>
您可以将
foo
queryset传递给模板,并对其进行迭代。我找到了一种在视图中有效的方法,但在模板中不起作用
您需要的是这一行:
foo = A.fk.field.related_model.objects.all()
这将提供一个包含所有B
项的查询集:
<QuerySet [<B: B object (1)>, <B: B object (2)>, <B: B object (3)>, <B: B object (4)>, <B: B object (5)>]>
您可以将
foo
queryset传递给模板,并对其进行迭代。如果A
对象不存在,如何获取外键?没有任何连接Ep,我知道一个对象不存在,但我有一个A
模型,其中包含与A相关的信息。我想知道我是否可以使用它。你的意思是想获取与A模型相关的所有外键id?如果A
对象不存在,你如何获取外键?没有任何连接Ep,我知道对象不存在,但我有一个A
模型,其中包含与A相关的信息。我想知道我是否可以使用它。你的意思是想获取与A模型相关的所有外键id?
{% for b in model_a.fk.field.related_model.objects.all %}
{{ b }}
{% endfor %}