本文介绍了Django QuerySet查询或过滤“奇数”和/或“偶数”特定字段中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
# Example
from django.db import models
class ParkingLot(models.Model):
lot_number = models.IntegerField()
is_reserved = models.BooleanField()
我对Odd xor感兴趣甚至 lot_number
。
在Django中推荐的过滤方法是什么?
I'm interested in Odd xor Even lot_number
.What's the recommended way to filter that in Django?
我在下面发了一些答案。
I've posted some answer below.
有谁知道我们是否可以使用直接比较一下,像 F('lot_number')%2 == 0
技术?
Does anyone know if we can use a direct comparison something like F('lot_number') % 2 == 0
technique?
推荐答案
在Django 1.8中,您可以执行以下操作:
In Django 1.8 you could do:
# ParkingLots with even numbered lot_numbers
ParkingLot.objects.annotate(odd=F('lot_number') % 2).filter(odd=False)
# ParkingLots with odd numbered lot_numbers
ParkingLot.objects.annotate(odd=F('lot_number') % 2).filter(odd=True)
这不会在旧版本的Django。
This won't work in older versions of Django though.
这篇关于Django QuerySet查询或过滤“奇数”和/或“偶数”特定字段中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!