在视图函数中写入增删改查的方法
增:
在 urls 中配置路径 :
查:
1:
在后台打印数据
在模型类中添加格式化输出 :
QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,,
找第一条和最后一条数据
2:
3:
QuerySet,反回的是个对象
删
改
查补充:
常用查询方法:
def search_base(request):
re = User.objects.all()
print(re[0].name)
print(re[0].age)
print(re[1].name)
print(re[1].age)
print(re.first()) # 第一条数据
print(re.last()) # 最后一条数据
User.objects.filter(name='小明',age=18,) # 多条件查询
User.objects.exclude(name='小军',age=22) # 排除法,查不满足条件
User.objects.get(name='小军',age=22) # 查询到的对象只有一个,如果有多个会报错
User.objects.order_by('age') # 按年龄排序输出 (默认从小到大,)
User.objects.order_by('-age',) # 按年龄排序输出 (从大到小)
User.objects.order_by('-age','-id') # 按年龄排序输出 (从大到小)(可以写多个条件 )
re = User.objects.all().values() # 转换成字典输出
r = User.objects.count() # 查看有几条数据
# 条件查询
User.objects.filter(name__contains='小')
User.objects.filter(name__startswith=) # 忽略大小定
User.objects.filter(name__endswith=) # 以什么开头
User.objects.filter(name__iendswith=) # 以什么结尾
User.objects.filter(age__in=[12,13,14]) # 包含
User.objects.filter(age__range=(12,20)) # 包含
User.objects.filter(age__gt=18) # 大于
User.objects.filter(age__gte=18) # 大于,等于
User.objects.filter(age__lt=18) # 大于
User.objects.filter(age__lte=18) # 大于, 等于
User.objects.filter(age__isnull=True) # 数据是否为空
return HttpResponse('查询数据成功')
查询条件:
在一个已经存在的表中要添加字段时,
必须添加 null=True, 或者设个默认值: default=''
然后执行 makemigrations
执行 migrate
如果 要删除一个表,注释对应的类后,执行命令,