每天努力一点点,坚持下去 ------ 博客首页

Django数据库操作

命令行:

makemigrations Appname #指定生成创建此应用下表的py文件,而不是全部创建

migrate Appname #指定执行应用下的创建表的py文件,而不是全部创建

1、增

# 方式一
category = models.Category(name='Python') # 增加一条name是'Python'的一条数据
category.save()

# 方式二
models.Category.objects.create(name='Linux')  # 不需要save

 2、删

# 单条删除
c1 = models.Category.objects.get(name='Linux1', id=9)
c1.delete()  # 单条删除

# 多条删除
c1 = models.Category.objects.filter(name='Linux1')
c1.delete()

 3、改

# 单个数据修改
c1 = models.Category.objects.get(name='Linux',id=2)
c1.name = 'Java' # 把name='Linux',id=2数据 的name更改为:Java
c1.save() # 保存

# 多条数据修改
q = models.Category.objects.filter(name='Linux')
print(dir(q))  # 获取到所有的方法
u = q.update(name="Linux1") # 所有name='Linux'的name更改为:Linux1

4、查

# 获取单条
c1 = models.Category.objects.get(name='Python',id=1)
# 获取到的是对象:Category object (1);
# get方法只可以获取到一条数据,返回多条会报错;查询不到也会报错
# 可以是多个条件
print(c1.name)  # 结果:Python

# 获取多条
filter_query = models.Category.objects.filter(name='Linux')  # 括号中可以加多个条件
# 不存在返回空列表,不会报错
print(filter_query[0]) #获取第一条,返回的对象:Category object (2)
print(filter_query.first())  # 获取到第一条
print(filter_query.first().id)  # 获取到第一条的id
print(filter_query.all())   #获取到所有name=’linux'的数据;
print(filter_query.all().mame)  # 不可这样使用
print(filter_query.all()[0])  # 可使用下标的方式取值

 


 

posted @ 2023-02-19 22:33  他还在坚持嘛  阅读(37)  评论(0编辑  收藏  举报