加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python Django 模型层

发布时间:2020-12-20 10:40:49 所属栏目:Python 来源:网络整理
导读:一 单表操作 create_time = models.DateField() # 不指定 auto_now或auto_now_add 时,需要自己传参数 关键性的参数: 1 .auto_now:每次操作数据 都会自动刷新当前操作的时间 2.auto_now_add:在创建数据的时候 会自动将创建时间记录下来 后续的修改不会影响

一 单表操作

create_time = models.DateField() # 不指定auto_now或auto_now_add时,需要自己传参数 
关键性的参数:
1.auto_now:每次操作数据 都会自动刷新当前操作的时间
2.auto_now_add:在创建数据的时候 会自动将创建时间记录下来 后续的修改不会影响该字段

二 测试脚本文件使用

django中 你可以写一个单独测试某一个py文件的测试脚本 不需要再频繁的走web请求

1.脚本测试文件必须的代码

import os
import sys

if __name__ == "__main__":
    # django在启动的时候 就会往全局的大字典中设置一个键值对  值是暴露给用户的配置文件的路径字符串
    os.environ.setdefault("DJANGO_SETTINGS_MODULE","day54.settings")

    import django
    django.setup()
    
# 下面为测试代码:比如测试应用app01和它models.py文件中的Book类
    from app01 import models 
models.Book.objects.all()
   

三 模型层的单表操作

1.返回QuerySet对象的方法有
all()

filter()

exclude()

order_by()

reverse()

distinct()

2.特殊的QuerySet
values()       返回一个可迭代的字典序列

values_list() 返回一个可迭代的元祖序列

3.返回具体对象的
get()

first()

last()

4.返回布尔值的方法有:
exists()

5.返回数字的方法有
count()
View Code

具体操作(看连接和补充)

https://www.cnblogs.com/Dominic-Ji/p/9203990.html

1. order_by(*field): 对查询结果排序(-id) / (price)
print(models.Book.objects.order_by(price))  # 默认是升序
print(models.Book.objects.order_by(-price))  # 加负号就是降序

2. reverse(): 对查询结果反向排序 >> > 前面要先有排序才能反向
# print(models.Book.objects.order_by(‘price‘).reverse())

3. distinct(): 从返回结果中剔除重复纪录
    """
    去重的前提是 一定要是查询出来的结果有完全重复的数据 才能去重
    """
 # print(models.Book.objects.filter(title=‘三国演义‘).distinct())

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读