Django数据库的增删改查

 在app下新建一个models_test.py,用来编写数据库操作的相关代码

import django,os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_test.settings')#设置django的配置文件,指定Django的配置文件是在setting里面
django.setup()

from user import models
from django.db.models import Q #or条件需要导引入Q对象
from django.core.paginator import Paginator
#新增
models.Nav.objects.create(name='我的日记1')
models.Nav.objects.create(name='我的日记2')
models.Nav.objects.create(name='我的日记3')
models.Nav.objects.create(name='我的日记4')
models.Nav.objects.create(name='我的日记5')

nav_obj = models.Nav(name='我的心情6',is_delete=1)
nav_obj.save()


#查询

#get方法查询的话,必须得保证这个数据查出来只有1条,才可以
result = models.Nav.objects.get(is_delete=1)
result2 = models.Nav.objects.get(id=1)
print(result.name)
print(result.id)
print(result.update_time)

# filter查询支持多个结果
result = models.Nav.objects.filter(is_delete=1,name='我的心情')#and
result = models.Nav.objects.filter( name__contains='我的' )# 模糊查询用两个下划线加上自断
result2 = models.Nav.objects.filter(id__gt=0 )#__gt是大于的意思
result2 = models.Nav.objects.filter(id__gte=1 )#__gte大于等于1
result2 = models.Nav.objects.filter(id__lt=2 )#小于2
result2 = models.Nav.objects.filter(id__range=[1,5] )#一个范围之间
result3 = models.Nav.objects.filter(id__in=[1,2,3,5,6])#in
result  = models.Nav.objects.exclude(id=1)#exclude排除,除了id为1的


print(result)
print(result2)
print(result3)

result = models.Nav.objects.filter( Q(name__contains='6')|Q(name__contains='3') )#或or,查询包含2或者6的

all = models.Nav.objects.all()#获取表里面所有的数据
all = models.Nav.objects.all().filter(name__contains='6')#获取表里面所有contains=6的的数据

#修改
n = models.Nav.objects.get(id=1) #要先找到数据才能修改,id写成pk也可以,意思是parimy key
n.name = 'wo的相册2'#你要修改成的内容
n.is_delete = 1
n.save()#最后一定要保存

# 批量修改
models.Nav.objects.all().update(is_delete=0)#更新表里面所有数据
models.Nav.objects.filter(name__contains='我的').update(is_delete=1)#根据条件批量修改,把包含“我的”的数据批量修改

#删除
# models.Nav.objects.all().delete()#删除表里面所有数据
# models.Nav.objects.filter(id__lt=3).delete()#根据条件删除

#n = models.Nav.objects.get(id=3) #parimy key单个删除
#n.delete()
原文地址:https://www.cnblogs.com/haifeima/p/11908754.html