我需要根据两个日期字段和一个字段来查找唯一记录,如下所示。
Start Date
End Date
Item No. (There will be unique item numbers.)
Owner ID - This is what should be retrieved from the model.
提供:数据模型以这样的方式实现,在开始日期和结束日期内,项目只能由一个所有者拥有。
要求:当给出产品编号和日期时,找到所有者 那天内的物品。
假设这存储在名为所有权的模型中。 模型具有以下字段来存储开始日期,结束日期和项目编号
Ownership.start_date
Ownership.end_date
Ownership.item_no
用户在表单中提交Item和Date的值,这些值存储在变量user_date,user_item_no中。
我知道这应该使用过滤逻辑如下。但是如何在查询中引用这些字段? (负面情景将被丢弃)
过滤器:
(user_date >= Ownership.start_date) AND (user_date <= Ownership.end_date)
AND (Ownership.item_no = user_item_no)
注意:构建过滤器查询时,我必须引用过滤器本身中的模型字段( in())。
答案 0 :(得分:0)
我想你会想要这样的东西
ownerships = Ownership.objects.filter(start_date__lte=user_date, end_date__gte=user_date, item_no = user_item_no)