当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。