django 模型字段设置默认值代码

当我们在使用 Django 框架时,经常需要定义数据库模型,而模型中的字段往往需要提供默认值,以在创建新对象时提供默认初始化值。

下面是设置模型字段默认值的完整攻略:

1. 使用默认值作为固定值

如果要将模型字段的默认值设置为一个固定值,可以在字段定义中指定 default 属性,并将其设置为相应的值。

例如,我们想定义一个名为 Person 的模型,其具有一个 gender 字段,该字段的默认值为 'M'(表示男性)。代码如下:

from django.db import models

class Person(models.Model):
    GENDER_CHOICES = (
        ('M', 'Male'),
        ('F', 'Female'),
    )
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES, default='M')

在上面的代码中,通过 default 属性将 gender 的默认值设置为 'M'

2. 使用默认值作为可调用对象

如果要将模型字段的默认值设置为可调用对象,可以在字段定义中指定 default 属性,并将其设置为可调用对象的名称。

例如,我们想定义一个名为 Person 的模型,其具有一个 date_created 字段,该字段的默认值为当前时间。代码如下:

from django.db import models
from django.utils.timezone import now

class Person(models.Model):
    name = models.CharField(max_length=100)
    date_created = models.DateTimeField(default=now)

在上面的代码中,通过 default 属性将 date_created 的默认值设置为 now 函数,该函数返回当前时间。

以上就是设置 Django 模型字段默认值的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django 模型字段设置默认值代码 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 使用grappelli为django admin后台添加模板

    下面是使用grappelli为django admin后台添加模板的完整攻略。 1. 安装grappelli 首先,需要安装grappelli,在命令行中使用pip安装: pip install django-grappelli 安装完成后,在项目的settings.py中加入grappelli的应用: INSTALLED_APPS = [ # … ‘g…

    Django 2023年5月16日
    00
  • django实现查询功能

    <div class=”form-group pull-right” style=”float: left”> <form action=”” method=”get”> <input name=”q” type=”text” value=”” class=”form-control” placeholder=”请输入搜索条件”…

    Django 2023年4月11日
    00
  • django os.environ慎用setdefault操作环境变量

    在绝大多数情况下,如果需要在程序运行过程中设置环境变量,使用os.environ.setdefault函数是没有任何问题的,但是有两种场景下setdefault会造成意外的问题,需要慎用: 如果程序执行前,系统里已经存在了某环境变量(如ENV=VAL1),此时如果在程序中用setdefault函数对该环境变量设置另一个不同的值(如VAL2),会因为setde…

    Django 2023年4月13日
    00
  • Python笔记(五)–Django中使用模板

      使用Django开发网站时,如果不使用模板,那么将会很不合理。因为我们所有的html代码都需要被硬编码到我们的Python代码中。我们新建一个工程,然后再在新建一个应用程序,并在其中的views.py文件中添加如下代码: 1 #coding=UTF-8 2 from django.http.response import HttpResponse, Ht…

    Django 2023年4月12日
    00
  • Django的多层路由

    如果项目中只使用到了一个APP应用,完全可以避免使用多层路由,多层路由在项目里涉及到2个或多个APP时使用 所谓路由,简单来说,就是给项目路径分流。 比如有一个项目 webnet,下面使用到了两个应用程序 stu_sys 和 tea_sys,需要区分访问时 可以在各自的APP根目录新建urls文件夹,将自己下面的对应关系写入: 1 from django.c…

    Django 2023年4月12日
    00
  • Django解决datetime类型数据不能json序列化问题

      场景: 通常数据库的时间字段都是自动添加,或者datetime形式填入,这时候取出来,如果你不循环把它变成字符串,就会报错Object of type ‘datetime’ is not JSON serializable,所以通过一个继承类方式,来改变datetime类型数据序列化问题,会很方便。   写法: import datetime class…

    Django 2023年4月12日
    00
  • django框架中间件原理与用法详解

    让我来详细讲解一下“Django框架中间件原理与用法详解”的完整攻略,包含两条示例说明。 什么是中间件? 中间件是Django框架中一个非常重要的概念,它是处于Django请求-响应处理过程中的一层拦截器,可以在请求到达处理视图函数之前或到达响应之后,对请求和响应进行各种操作和处理。如图所示: 客户端请求 -> Django中间件拦截处理 -> …

    Django 2023年5月16日
    00
  • django集成DjangoUeditor碰到的问题

    django集成DjangoUeditor富文本编辑器的教程,请参考:https://www.jianshu.com/p/d236a33a8c01 只参考到完成的那一步,能输入汉字,其他功能暂未考虑   本文仅记录集成过程中遇到的问题: 1. .File “D:\Python\Python37-32\lib\site-packages\django\view…

    Django 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部