在 django 模型过滤器中对多个字段使用关系运算符



>我需要根据两个日期字段和一个字符字段找到唯一记录,如下所示。

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

用户以存储在变量user_date、user_item_no 中的表单形式提交 Item 和 Date 的值。

我知道这应该使用如下过滤器逻辑。但是,如何在查询中引用这些字段呢?(负面场景将被丢弃(

滤波器:

(user_date >= Ownership.start_date) AND (user_date <= Ownership.end_date)
 AND (Ownership.item_no = user_item_no)

注意:在构建过滤器查询时,我必须在过滤器本身中引用模型的字段(在 (( 中(。

我想你会想要这样的东西

ownerships = Ownership.objects.filter(start_date__lte=user_date, end_date__gte=user_date, item_no = user_item_no)