美文网首页
Django-model操作

Django-model操作

作者: 敦敦实实 | 来源:发表于2018-09-23 13:14 被阅读0次

操作model前需要先在文件中引入该model

from .models import TestModel

1、存储

# 方法一
test_model = TestModel()
test_model.name = 'name'
test_model.message = 'message'
test_model.save()
# 方法二
test_model = TestModel(name='name')
test_model.save()

2、读取

# 获取所有数据
list = TestModel.objects.all()
# 获取一条数据
list = TestModel.objects.get(id=1)
# 设置过滤条件
list = TestModel.objects.filter(id=1) 
# 限制获取的数据(相当于sql中OFFSET 0 LIMIT 2)
TestModel.objects.order_by('name')[0:2]
# 排序
TestModel.objects.order_by("id")

# 连锁使用上面的方法
TestModel.objects.filter(name="name").order_by("id")
获取到之后遍历得到的数据 然后获取需要的字段值
image.png

3、更新数据

# 更新一条数据
test_model = TestModel.objects.get(id=1) # 先获取原始数据
test_model.name = 'name' # 修改其中的某个字段
test_model.save() # 存储

# 更新所有匹配的数据
TestModel.objects.filter(id=1).update(name='name') 

# 更新所有数据
TestModel.objects.all().update(name='name') 

删除数据

# 删除某一条数据
test_model = TestModel.objects.get(id=1)
test_model.delete()

# 删除匹配到的所有数据
TestModel.objects.filter(id=1).delete()

# 删除所有数据
TestModel.objects.all().delete() 

model操作的其他用法

__exact 精确等于 like ‘aaa’
__iexact 精确等于 忽略大小写 ilike ‘aaa’
__contains 包含 like ‘%aaa%’
__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。
__gt 大于
__gte 大于等于
__lt 小于
__lte 小于等于
__in 存在于一个list范围内
__startswith 以…开头
__istartswith 以…开头 忽略大小写
__endswith 以…结尾
__iendswith 以…结尾,忽略大小写
__range 在…范围内
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
__isnull=True/False
__isnull=True 与 __exact=None的区别

用法

TestModel.objects.filter(pub_date__lte=’2006-01-01′)
# ELECT * FROM blog_entry WHERE pub_date <= ’2006-01-01′;

相关文章

  • Django-model操作

    操作model前需要先在文件中引入该model 1、存储 2、读取 获取到之后遍历得到的数据 然后获取需要的字段值...

  • Django-Model

    数据库映射关系:一对一、一对多、多对多 1、一对一案例:账号和联系人 Model from django.db i...

  • Django-model

    DRY对于不同数据源都应该独立存在,减少冗余的数据。 model就是你唯一可信的真实数据源。它包含了你所要存储数据...

  • django-model之元选项

    在模型类里面可以进行元选项设置.模型元数据是“任何不是字段的数据”元选项举例: 可用的元选项 abstract 如...

  • Django-model之feild进阶

    参考地址 在model中添加字段的格式一般为: field_name = field_type(**field_...

  • 重读文档系列:django-model文档

    filed type包含CharField ,IntegerField 等等,作用不仅仅是确定类型,类型确定后,对...

  • Django-Model操作数据库(增删改查、连表结构)

    一、数据库操作 1、创建model表 2、注册APP,settings添加app 3、生成相应的表 4、admin...

  • django-model之定义查询集API

    下面的这个例子允许你直接从自定义的管理器Person.people 中调用authors() 和editors()...

  • django-model外键关系之多对多

    多对多 ManyToManyField用来定义多对多关系多对多在哪个模型中设置ManyToManyField并不重...

  • django-model外键关系之一对多

    一对多 外键字段是放在多的一方模型类里面的 比如,一辆汽车(Car)有一个制造商(Manufacturer) ——...

网友评论

      本文标题:Django-model操作

      本文链接:https://www.haomeiwen.com/subject/bjofoftx.html