在使用django模型建立表時,有時候不存在或者不滿足條件我們想要的表字段型別。這時我們可以繼承django模型中的field來實現自定義字段型別。
如下所示**建立了乙個tinyint型別的字段:
# 建立自定義字段型別:tinyint
class
tinyintfield
(models.field)
:def
__init__
(self,
*args,
**kwargs)
: self.max_length = kwargs[
"max_length"
]super()
.__init__(
*args,
**kwargs)
# 這個方法是建立django中,沒有的資料庫字段型別
defdb_type
(self, connection)
:return
"tinyint()"
.format
(max_length=self.max_length)
使用的時候直接如下所示:
state = tinyintfield(max_length=
1, blank=
false
, null=
false
, default=-1
, verbose_name=
'附件狀態 1:已使用 -1:未使用'
)
新增自定義欄位類
欄已經為一般使用者和開發者提供了非常好的可重用的能力。更進一步,你可以定義乙個可重用的欄定義,這將為我們帶來更大的靈活性。配合microsoft sharepoint foundation 2010,你可以將建立自定義字段型別的門檻降得很低。建立乙個自定義字段控制項的過程為 1.建立乙個public...
Django自定義登入驗證類
1.首先在views檢視函式內引入 from django.contrib.auth import authenticate from django.contrib.auth.backends import modelbackend q表示查詢條件 from django.db.models imp...
Django 自定義模型管理器
我們常常在view檢視裡查詢某個模型的資料的時候,通常的是這樣查詢的 上述每個模型類中都有乙個objects類屬性,可以叫他模型管理器。它由django自動生成,型別為django.db.models.manager.manager.我們可以將objects看做manager類的例項化物件,而上述的...