编写一个 django 查询并在一次数据库中获取反向相关对象!
Posted
技术标签:
【中文标题】编写一个 django 查询并在一次数据库中获取反向相关对象!【英文标题】:writing a django query and get reverse related objects in one hit of database! 【发布时间】:2011-03-21 21:12:52 【问题描述】:我已经在 models.py 中编写了这些模型:
类用户(模型。模型): first_name = models.CharField(max_length=80) 类技能(模型。模型): 用户 = 模型。外键(用户) 标题 = models.CharField(max_length=80) level = models.IntegerField(default=3) 类工作(模型。模型): 用户 = 模型.Foriegnkey(用户) work_name = models.CharField(max_length=80) 工资 = 模型.IntegerField()现在我想从他们的用户具有一定技能的数据库中获取那些作品,并与他们一起呈现一个 html。我在views.py中写了这段代码:
def show_works(请求,技能): 作品 = Work.objects.select_related().filter(user__skill__title=skill) return render_to_response("works.html", 'works':works)但我想在该 html 中显示另一件事:我想显示该工作的用户的名字和他的技能。我使用了 select_related(),但我只能显示 first_name 但我无法达到用户的技能。
我想编写一个最佳查询来获取作品和其他额外信息,例如用户及其用户的技能!就像代码一样: (我不想为每项工作都打数据库来获得其用户的技能)
模板works.html:
% for work in works % work.work_name 用户是:work.user.first_name 它具有以下技能: % for Skill in work.user.skill % 技能.title % endfor % % endfor %【问题讨论】:
【参考方案1】:您可能永远不会再看这个了,但无论如何我都会尝试回答。
我认为这应该可行:
% for skill in work.user.skill_set.all %
skill.title
% endfor %
【讨论】:
以上是关于编写一个 django 查询并在一次数据库中获取反向相关对象!的主要内容,如果未能解决你的问题,请参考以下文章
获取联系人在一分钟内有 20 个活动的行 - SQL 查询 [重复]
如何使用 Gremlin 在一次查询中同时获取节点属性和边名?
MsSQL如何在一次查询中从给定的日期和仓库号获取最近的未来值和值的总和
Django + Angular:如何将 angularjs $http 数据或参数发送到 django 并在 django 中解释?