python測試開發django-80.ORM查詢之比較查詢(__gt, __lt)


前言

查詢的時候經常會用到比較查詢,大於某個值或者小於這種。
django里面的比較查詢有:
__gt 大於
__lt 小於
__gte 大於等於
__lte 小於等於

__gt 和 __lt

查詢表里面年齡大於20的信息

查詢sql

SELECT * from yoyo_personinfo WHERE age>20

對應的django查詢

python manage.py shell
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from yoyo.models import PersonInfo
>>> 
>>> PersonInfo.objects.filter(age__gt=20).values("id","name","age")
<QuerySet [{'id': 9, 'name': 'yoyo5', 'age': 21}]>
>>> PersonInfo.objects.filter(age__lt=20).values("id","name","age")
<QuerySet [{'id': 7, 'name': 'yoyo3', 'age': 11}, 
{'id': 10, 'name': '22', 'age': 11}, 
{'id': 11, 'name': 'bbbbbbbbccccccccc', 'age': 11}]>
>>>

__gt 是大於,__lt是小於

__gte 和 __lte

SQL 查詢表里面年齡大於等於 20 的信息

SELECT * from yoyo_personinfo WHERE age>=20

對應的django查詢

MyDjango>python manage.py shell

>>> from yoyo.models import PersonInfo
>>>
>>> PersonInfo.objects.filter(age__gte=20).values("id","name","age")
<QuerySet [{'id': 6, 'name': 'yoyo2', 'age': 20}, 
{'id': 8, 'name': 'yoyo4', 'age': 20}, 
{'id': 9, 'name': 'yoyo5', 'age': 21}]>
>>> PersonInfo.objects.filter(age__lte=20).values("id","name","age")
<QuerySet [{'id': 6, 'name': 'yoyo2', 'age': 20}, 
{'id': 7, 'name': 'yoyo3', 'age': 11}, 
{'id': 8, 'name': 'yoyo4', 'age': 20}, 
{'id': 10, 'name': '22', 'age': 11},
{'id': 11, 'name': 'bbbbbbbbccccccccc', 'age': 11}]>
>>>

__gte 是大於等於,__lt是小於等於


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM