介紹一個能夠以py腳本方式運行ORM操做的方法:django
可在項目內新建個py文件,複製項目內manage.py文件中的如下代碼:app
if __name__ == "__main__":orm
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ORM1.settings")對象
import django # 手動添加導入排序
django.setup() # 啓動get
form app01 import models # 從項目app內導入modelsast
而後就能夠以右鍵運行的方式來操做ORM語句了.form
一. 必會的13條方法:import
1. models.Book.objects.all() # 獲取到全部的書籍對象,結果是對象列表object
2. models.Book.objects.get(條件) # 獲取符合條件的對象
3. models.Book.objects.filter(條件) # 篩選全部符合條件的,結果是對象列表
4. models.Book.objects.exclude(條件) # 篩選出全部不符合條件的,結果是對象列表
5. models.Book.objects.all().values( ) # 字典列表,[ {id:1,name:20} , {id:2,name:18} ]
values(‘id’)括號內不指定時顯示所有,如指定則只顯示指定的,[ {id:1} , {id:2,} ]
6. models.Book.objects.all().values_list( ) # 元組列表,[ (1,20) , (2,18) ]同上,指定時顯示指定內容
7. models.Book.objects.all().order_by(‘id’) # 按照id升序就行排列
models.Book.objects.all().order_by(‘-id’) # 按照id降序就行排列
models.Book.objects.all().order_by(‘age’ , ‘-id’) # 先按age升序,age相同的按id進行降序排列
8. models.Book.objects.all().order_by(‘id’).reverse() # 對結果反轉; 注意reverse前必須排序,
不然reverse無效; 或在model.py文件中Book類中的Meta中指定ordering=(‘id’ , )注意逗號必須有
9. distinct(): # 去重,當獲取到的結果Queryset列表中同一對象出現屢次時去重,只留一個
10. models.Book.objects.all().count() # 計數,可統計結果個數,如對Queryset內元素數進行統計.
11. models.Book.objects.all().first() # 獲取結果中的第一條,即便前面結果列表爲空,也不會報錯
12. models.Book.objects.filter().last() # 獲取結果中的最後一條
13.models.Book.objects.filter().exists() # 判斷Queryset列表是否有東西,結果爲True或False;
二. 小結:
返回對象列表(Queryset)的方法有:
all() filter() ordey_by() exclude() values() values_list() reverse() distinct()
返回單個對象的方法有:
first() last() get() create()建立一個對象,且返回剛建立的對象
判斷布爾值的有:
exists()
返回數字的有:
count()