Django之表操作
1.单表查询必知必会13条
1.all,返回全部
2.filter,返回符合条件的对象
3.get,返回对象本身
4.first,返回第一个
5.last,返回最后一个
6.exclude,返回不符合条件的对象
7.values,列表套字典
8.values_list,列表套元组
9.count,计数
10.distinct,去重
11.order_by,排序
12.reverse,排序后反转
13.exists,返回布尔值
2.神奇的双下划线查询
__gt:大于
__lt:小于
__gte:大于等于
__lte:小于等于
__in=[a,b,c]:a或者b或者c
__range=(a,b):在a,b中间(顾头不顾尾)
__contains='':包含(区分大小写)
__icontains='':包含(忽略大小写)
__startswith='':以什么开头
__endswith='':以什么结尾
__year/month/day='':时间是多少年/月/日的
3.多对多字段的四个方法
add() 添加信息
set() 修改关系
remove() 删
clear() 清空
django测试环境搭建
import os
if name == "main":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "one_search.settings")
import django
django.setup()
#你就可以在下面测试django任何的py文件
如果你向查看orm语句内部真正的sql语句有两种方式(建议第二种)
1.如果是queryset对象 可以直接点query查看
2.配置文件中 直接配置
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level': 'DEBUG',
},
}}
增:1.models.表名.objects.create(id="")
2.表名_obj = models.表名(id='')
表名_obj.save()
改:1.models.表名.objects.filter(id="").update(name='')
2.表名_obj = models.表名.objects.filter(id='').first()
表名_obj.name=''
表名_obj.save()
删:models.表名.objects.filter(id="").delete(name='')
查:1.res = models.表名.objects.all()
for i in res:
print(i.title)
2.res = models.表名.objects.filter()
print(res)