1. 程式人生 > >django-8-django模型系統

django-8-django模型系統

one tom () cas mod contain 管理 學生 efi

<<<表關系實現>>>
1.OneToOne
models.OneToOneField(‘another_table‘, on_delete=models.CASCADE)
2.OneToMany
models.ForeignKey(‘another‘,on_delete=models.SET_NULL, null=True)
3.ManyToMany
ManyToMany(‘another_table‘,through=‘Enroll‘)
還要借助一個中間表Enroll OnenToMany(‘one‘, on_delete=models.CASCADE)
OnenToMany(‘another‘, on_delete=models.CASCADE) <<<關聯表的數據操作>>>
1.OneToMany
一個模型如果定義了一個外鍵字段,通過這個模型對外鍵的操作就叫【正向】 s.grade = None 把外鍵刪除 從grade對象反過來對和他關聯的模型進行操作【反向】 table_set 反響管理器
remove(s)
clear()這兩種方法都立刻馬上執行 set()參數傳列表,先執行clear() filter(grade__name=‘django‘) 2.ManyToMany

指定了中間表,add remove set都不能用,必須用中間表 3.OneToOne 直接通過模型的小寫就能反向操作 <<<跨表查詢>>>
1.查詢課程表裏面的男生
Course.objects.filter(studetns__sex=1)
2.查詢選了python課的學生
Student.objects.filter(course__name_contains=‘python‘)
3.查詢33期,選英語課的學生
Student.objects.filter(course__name__contains=‘english‘, grade__num__contains=‘33‘)
4.查詢學費小於3000的學生
Student.objects.filter(enroll__pay__lt=3000)
5.查詢某一期學習python的學生
Grade.objects.filter(student__course__name__contains=‘python‘)

django-8-django模型系統