1:一個模型類對應一個表,模型類中的屬性對應表中的一個字段
2:字段類型(數據庫支持的類型)python
1:CharField(Maxlength=長度)
models.CharFieldgit
2:TextFiled 大文本數據庫
3:IntegerField 整數django
4:DecimalField(max_digits=None,decimal_places=None) 小數
max_digits 位數總數 decimal_places 小數點後的位數code
5:FloatField 小數對象
6:BooleanField true/false字段繼承
7:DateField([auto_now=False,auto_now_add=False]) 日期
參數 auto_now:表示每次保存對象時,自動設置該字段爲當前時間
auto_now_add:表示當對象第一次被建立時,設置該字段爲當前時間
這兩個參數互斥
8:TimeField 時間 參數同上接口
9:DateTimeField 日期加時間 參數同上ci
10:FileField 一個上傳文件你的字段字符串
11:ImageField 繼承了FileField的全部屬性和方法,對上傳的對象進行確認,確保是一個image
1:null 默認False 若爲true 則以null存入數據庫
2:blanke True則容許空值
3:db_column 命名數據庫列名稱,不設置默認模型裏的屬性名
4:primary_key 主鍵
5:unique 若爲true 則這個字段在表中有惟一值
manage 的一個對象,做用是與數據庫進行交互
例:Students.objects.get(pk=1) 獲取id爲1的學生,能夠進行增刪改查
當定義模型類時沒有定義管理器,系統自動定義一個名叫objects的管理器
例:
class grades(models.Model): stuobj=gradesManager() gname=models.CharField(max_length=20) def __str__(self): return self.gname
在Students模型類中加入:
stuobj=models.Manager()#設定一個名叫obj的管理器
在之後這個類的訪問中,能夠使用Students.obj.get()或者all()等方法
自定義後,objects就不能再使用了
模型管理器是django的模型與數據庫進行數據交互的接口,一個模型類能夠有多個管理器
用處:
1:能夠添加額外的方法(即除get(),all())
2:修改管理器返回的查詢集合(過濾)->重寫get.queryset()方法
例:
class gradesManager(models.Manager): def get_queryset(self): return super(gradesManager,self).get_queryset().filter(id=1)
此處重寫的get_queryset()方法,篩選出id=1的信息 固然使用的時候要用stuobj()進行操做 2:建立對象