當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Django Field.default用法及代碼示例


本文介紹 django.db.models.Field.default 的用法。

聲明

Field.default

字段的默認值。這可以是一個值或可調用對象。如果可調用,則每次創建新對象時都會調用它。

默認值不能是可變對象(模型實例、listset 等),因為對該對象的同一實例的引用將用作所有新模型實例中的默認值。相反,將所需的默認值包裝在可調用對象中。例如,如果要為 JSONField 指定默認 dict,請使用以下函數:

def contact_default():
    return {"email": "to1@example.com"}

contact_info = JSONField("ContactInfo", default=contact_default)

lambda 不能用於像 default 這樣的字段選項,因為它們不能被遷移序列化。有關其他警告,請參閱該文檔。

對於映射到模型實例的 ForeignKey 等字段,默認值應該是它們引用的字段的值(pk,除非設置了 to_field )而不是模型實例。

當創建新模型實例並且未為該字段提供值時使用默認值。當字段是主鍵時,當字段設置為 None 時也使用默認值。

相關用法


注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.db.models.Field.default。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。