应用demo下,models新建一个People类继承models.Model
# People类 class People(models.Model): name = models.CharField(max_length=20) age = models.IntegerField(max_length=3) addr = models.CharField(max_length=32) sex = models.IntegerField(default=0, max_length=1)
生成迁移文件 : 进入项目根目录 > cmd > python manage.py makemigrations
写入到数据库 : python manage.py migrate
对数据库的单表curd
# 添加 def add_people(request): # 方式一添加 创建People对象 调用save()方法 p = People(name="小明", age=12, sex=1, addr="中国") p.save() # 方式二添加 使用People.objects.create() People.objects.create(name="熊二", age=10, sex=2, addr="森林") # 添加传入的参数可以是字典,键名字跟数据库字段一样 dic = { "name": "大明", "age": 10, "sex": 1, "addr": "星斗森林" } People.objects.create(**dic) # p.save(**dict)
# 查询 (基本的查询) # 查询所有记录 返回所有people对象 res = People.objects.all() # 查找第一条 返回一个people对象 first_record = People.objects.first() # 查找最后一条 返回一个People对象 last_record = People.objects.last() # filter 条件过滤 返回一个新的数据类型QuerySet 盛放的是People对象 fil_name = People.objects.filter(name="大明") print(fil_name) fil_id = People.objects.filter(id=2) print(fil_id) # 前面的获取都是全字段 相当于 select * from People # values 可查询所需字段 返回的QuerySet 里面的数据是字典 res_val = People.objects.filter(name="大明").values("name", "age", "addr") print(res_val)
# 删除 调用delete # 先查询 ->后删除 People.objects.filter(name="大明").delete()
# 先查询后更改 # 方式一 更新全字段 效率略低 p = People.objects.filter(name="大明") p[0].name = "二明" p[0].save() # 方式二 只更新需要的字段效率高 People.objects.filter(name="大明").update(name="二明")
来源:https://www.cnblogs.com/kral-yang/p/12195826.html