【发布时间】:2019-06-22 01:38:51
【问题描述】:
有没有办法将非 Django 提供的值附加到查询中?
例如,要确定一家商店是否关门,我可以运行一个名为 get_closed_stores() 的函数,该函数会返回已关闭商店的列表。
商店关闭
[00090, 00240, 00306, 00438, 03005, 05524]
太好了,现在我们有关闭商店的商店编号。让我们获取那些实际的 store 对象。
查询
Store.objects.filter(
store_number__in=[00090, 00240, 00306, 00438, 03005, 05524]
)
我们现在有了 QuerySet,但我们绝对无法检测商店何时关闭,因为数据库不包含任何有关紧急关闭的信息,但 Sharepoint 包含。所以回到get_closed_stores(),我们可以在商店编号旁边返回关闭日期,以便我们的关闭商店列表(字典)看起来更像下面:
带日期的商店列表
{
[00090, '1/28/19 5:00PM'],
[00240,'1/28/19 5:00PM'],
[00306, '1/28/19 5:00PM'],
[00438,'1/28/19 5:00PM'],
[03005,'1/28/19 5:00PM'],
[05524, '1/28/19 5:00PM']
}
现在日期与我的商店编号一起,我可以将它添加到我的查询集(理想情况下)并从我的前端访问它。
所以annotate() 如果我正在使用任何与 Django ORM 相关的东西,这里将是理想的,但是当涉及到“注入”外部数据时,我在寻找什么?
我绝对可以在我的前端通过 JS 调用每个商店,但如果我能绕过它,我宁愿不这样做
【问题讨论】:
标签: python django django-2.0 django-2.1