# -*- coding: UTF-8 -*- ''' 在Python脚本中调用Django环境 ''' import os if __name__ == '__main__': # 加载 Django项目的配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings") # 导入Django并启动 import django django.setup() from appweb import models # 单表查询之双下划线 # 查询 id >1 <4 的 print(models.Person.objects.filter(id__gt=1,id__lt=4)) # __in 查询 id在 [1,3,5,99]中的结果 print(models.Person.objects.filter(id__in=[1,3,5,99])) # __in 排除 id在 [1,3,5,99]中的结果 相当于 not in print(models.Person.objects.exclude(id__in=[1,3,5,99])) # name__contains 获取name字段包含"侠"的 print(models.Person.objects.filter(name__contains="Lin")) # icontains 大小写不敏感 print(models.Person.objects.filter(name__icontains="lin")) # filter(id__range=[1, 3]) id范围是1到3的,等价于SQL的bettwen and print(models.Person.objects.filter(id__range=[1,3])) # 类似的还有:startswith,istartswith, endswith, iendswith  # 以什么开头 print(models.Person.objects.filter(name__startswith="L")) # 日期和时间判断还可以有以下写法 # 只判断生日年份为2018的 print(models.Person.objects.filter(birthday__year=2018)) # 只判断生日月份为6月的的 print(models.Person.objects.filter(birthday__month=6)) # 只判断生日月份为6月的的,并且年份为2018的 print(models.Person.objects.filter(birthday__month=6,birthday__year=2018))