您当前的位置: 首页 >  django

暂无认证

  • 5浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Django-ORM模型层语法(三)之神奇的双下划线查询

发布时间:2020-12-09 00:10:10 ,浏览量:5

神奇的双下划线查询

User表数据

id name age register_time 1 steven 18 2002-01-01 2 baby 20 2020-12-03 3 mark 28 2002-01-02 4 kevin 38 2020-12-03 5 Stark 50 2020-09-09 settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm1', "USER":'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'PORT':3306, 'CHARSET':'utf8', } } 

init.py

import pymysql
pymysql.install_as_MySQLdb() 

models.py

from django.db import models # Create your models here. class User(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() register_time = models.DateField() # 年月日 def __str__(self): return '对象:%s' % self.name

Terminal

python manege.py makegirations
python manage.py migrate

app01/tests.py

"""
当你只是想测试django中的某一个py文件内容 那么你可以不用书写前后端交互的形式
而是直接写一个测试脚本即可
脚本代码无论是写在应用下的tests.py还是自己单独开设py文件都可以
""" # 测试环境的准备 去manage.py中拷贝前四行代码 然后自己写两行 import os if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm1.settings") import django
    django.setup() # 在这个代码块的下面就可以测试django里面的单个py文件了 # 所有的代码都必须等待环境准备完毕之后书写 from app01 import models # 神奇的双下划线查询 # 1.年龄大于35岁的数据 res = models.User.objects.filter(age__gt=35) print(res) # 2.年龄小于35岁的数据 res = models.User.objects.filter(age__lt=35) print(res) # 3.年龄大于等于28岁的数据 res = models.User.objects.filter(age__gte=28) print(res) # 年龄小于等于20岁的数据 res = models.User.objects.filter(age__lte=20) print(res) # 4.年龄是18或20或28 res = models.User.objects.filter(age__in=[18,20,28]) print(res) # 5.年龄在18到28岁之间的数据 res = models.User.objects.filter(age__range=[18,28]) print(res) # 6. 查询名字里面含有s的数据 模糊查询(默认区分大小写) res = models.User.objects.filter(name__contains='s') print(res) # 忽略大小写 res = models.User.objects.filter(name__icontains='s') print(res) # 7.查询名字以s开头的数据 res = models.User.objects.filter(name__startswith='s') print(res) # 查询名字以k结束的数据 res = models.User.objects.filter(name__endswith='k') print(res) # 8.查询出注册时间是2020年12月的数据 res = models.User.objects.filter(register_time__month='12') print(res) # 查询出注册时间是2002年的数据 res = models.User.objects.filter(register_time__year='2002') print(res) 
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

2.8919s