Django模型中自定義字段型別

2021-10-17 23:13:44 字數 796 閱讀 7567

在使用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類的例項化物件,而上述的...