鄙人最近初次嘗試用django來寫web管理工具,對ORM數據類型方面有些疑問,今日將ORM總體熟悉了一下。
python
下面介紹開始了,阿優ruai得:web
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()
# 至關於作關聯查詢, 查詢出這本書有多少個做者