#单表查询操作基本方法
classBookList(models.Model):
title= models.CharField(max_length=32)
price= models.DecimalField(max_digits=8,decimal_places=2) #总共8位,小数占2位
publist_date = models.DateField() #DateField年月日,DateTimeField详细时间
#单独测试models.py文件#将manage.py中前4行拷贝到一个新的test.py文件中
importosimportsysif __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day20.settings")importdjango
django.setup()from app01 importmodels#插入语句
#book_obj = models.BookList.objects.create(title="三国演义",price=1123.22,publist_date='2019-08-28')
#import datetime
#ctime = datetime.datetime.today()
#book_obj = models.BookList.objects.create(title="红楼梦",price=1666.22,publist_date=ctime)
#print(book_obj) # BookList object
#更新数据
#models.BookList.objects.filter(title="三国演义").update(price=1123.22)
#queryset方法都是批量更新操作
#查询
#print(models.BookList.objects.all()) # , ]>
#print(models.BookList.objects.filter(pk=1)) # ]> # 推荐使用
## get获取到的就是数据对象本身,但是条件不满足的时候会直接报错,不推荐使用
#print(models.BookList.objects.get(pk=3)) # 红楼梦
#删除
#models.BookList.objects.filter(pk=1).delete()
#更多查询方法
#exclude取反
#print(models.BookList.objects.exclude(pk=1))
#values 拿对应的字段,返回的是列表套字典
#print(models.BookList.objects.values('title','price'))
#
#value_list 返回的是列表套元组
#print(models.BookList.objects.values_list('title','price'))
#
#order by 查询结果排序 默认升序
#print(models.BookList.objects.order_by('price'))
#, ]>
#降序
#print(models.BookList.objects.order_by('price').reverse())
#去重:去重的前提是:数据必须是完全一样的
#print(models.BookList.objects.filter(title="三国演义").values('title','price').distinct())
#
#count()
#print(models.BookList.objects.all().count())
#first/last
#print(models.BookList.objects.first())
#print(models.BookList.objects.last())
#exists
#print(models.BookList.objects.filter(pk=2).exists())