【发布时间】:2017-06-16 06:20:36
【问题描述】:
给定一个 django 模型...
models.py
class UserRelationship:
user_id - IntegerField
staff_id - IntegerField
valid_from - DateTimeField
...以及一些从外部 API 检索数据的逻辑。
api.py
class Approval:
user_id - Int
created_at - DateTime
带有“批准”列表:
approvals = [{'user_id': <user_id>, 'created_at': <created_at>}, ...]
我需要找到一种在批准“批准”对象列表时派生“staff_id”的有效方法。
我想不出使用 django ORM 的方法。
我知道我们可以使用 Q 对象进行复杂的查找:
from django.db.models import Q
qs = UserRelationship.obejcts.filter(Q(user_id=<user_id>) & Q(created_at__lte=<created_at>))
但这仅适用于user_id/created_at 的单一组合,我如何才能为“批准”的大列表(〜20k +)做到这一点。
任何帮助或提示将不胜感激。非常感谢。
【问题讨论】:
-
目前你的问题太宽泛了。这些批准从何而来。顺便说一句,你不能发布你的实际模型而不是这些语法不正确的东西吗?
标签: sql django postgresql django-models django-queryset