鄙人最近初次尝试用django来写web管理工具,对ORM数据类型方面有些疑问,今日将ORM整体熟悉了一下。
下面介绍开始了,阿优ruai得:
ORM常用的数据类型 1. null = True或者False,若是想限制字段可以为空的话, 需要加上black=true(限制admin的) 2. choices 设置男女 3. db_column 设置数据库中字段的名字 db_column = ‘‘ 4. db_index 索引: 给制定字段做索引 db_index = True 5. db_tablespace 表空间 6. default 给字段生成默认值 7. editable = False 设置在web页面上不能修改的input, 隐藏掉 8. error_messages = [dic] 数值是字典的样式,具体的没有用过,请大神指点 9. help_text = ‘text‘ 提示用户如何输入的 10. primary_key 设置主键 11. unique 设置字段的唯一 unique = True 12. unique_to_date 设置每天只能做一次, 记录一次时间 13. verbose_name 就是设置你的页面上的显示的字段名字 ORM操作 1. python manage.py shell # 直接根据django的环境变量来进入shell命令行 2. models.Author.objects.all() # 查找author下的所有内容 3. models.Author.objects.last() # 查找Author 最后一个内容 4. a1.last_name = ‘liming‘ a1.save() # 直接修改数据库内容 5. models.Author.objects.create() # 创建数据 6. models.Authot.objects.filter(last_name=‘lan‘,first_name=‘lei‘) # 过滤字段查找,相当于sql中的where 7. models.Author.object.first() # 显示查询到的第一个元素 8. models.Author.objects.filter(last_name__contains=‘lan‘) # 在字段元素中加上__contains就是代表这sql中的like模糊查询 9. models.Author.objects.filter(last_name__icontaians=‘LAn‘) # 忽略大小写的迷糊查询,将__contains变成__icontains便是忽略大小写了 10. models.Author.objects.filter(id__range(1,10)) # 范围查找,查找id是1-10之间的所有数据 11. models.Author.objects.filter(first_name__contains=‘Lan‘).update(first_name=‘Guo‘) # 批量修改数据首先模糊查询到想要的数据,通过update来修改成指定的数据 12. b1.authors.select_related() # 相当于做关联查询, 查询出这本书有多少个作者
时间: 2024-10-23 00:38:39