![](/img/trans.png)
[英]Django 1.11 - How do I query a DateTimeRangeField with an upper bound of None (PostgreSQL)
[英]Query (get) upper bound of RangeField in django
我想通过django queryset获取RangeField的上限。
当您有权访问python对象时, my_model.size_range.upper
可以正常工作。 不在查询引擎内,不使用F
, When
, Case
...
class MyModel(models.Model):
size_range = IntergerRangeField()
MyModel.objects.all().annotate(new_upper=F('size_range__upper') + 1)
FieldError: Unsupported lookup 'upper' for IntegerRangeField or join on the field not permitted.
任何想法 ?
我找到了一个半解决方案:
from django.db.models.functions import Upper
MyModel.objects.all().annotate(
upper=Upper('size_range')
).annotate(
new_upper=F('upper') + 1
)
哪个感到笨拙,但至少它是个笨蛋
如果有人知道更好吗? 我确信可以直接查询原始值。
你想用它做什么? 您可以使用endswith
MyModel.objects.filter(size_range__endswith=some_value))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.