鄙人最近初次尝试用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()
# 相当于做关联查询, 查询出这本书有多少个作者
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。