【发布时间】:2019-04-14 10:50:05
【问题描述】:
我有兴趣了解如何显示来自不同模型的查询集列表的所有属性。
这是一个例子:
models.py
class MyModelA(models.Model):
attr1 = something
attr2 = something
class MyModelB(models.Model):
attr3 = something
attr4 = something
class MyModelC(models.Model):
attr5 = something
attr6 = something
views.py
假设我们有三个模型实例存储在一个列表中:
all_selected_queries = [mymodela, mymodelb, mymodelc]
对于列表中的每个查询集,我想在模板中显示所有模型字段标题和数据。
我的做法:
# Loop through the list and get the verbose name title of each field ("titel")
for z in all_selected_queries:
queryset_fields = z._meta.get_fields()
for f in queryset_fields:
titel = f.verbose_name.title()
return titel
挑战我的是如何获取字段的值而不必包含实际的属性名称(因为它们对于每个查询集都不同)。
所以不要显式调用
f.attr1, f.attr2, f.attr3, f.attr4, f.attr5
对于每个领域,我都希望遇到一个跨模型边界的解决方案。
非常感谢您的帮助!
【问题讨论】:
标签: django python-3.x django-views django-queryset