zoukankan      html  css  js  c++  java
  • Django笔记&教程 4-2 模型(models)中的Field(字段)

    Django 自学笔记兼学习教程第4章第2节——模型(models)中的Field(字段)
    点击查看教程总目录

    参考:https://docs.djangoproject.com/en/2.2/ref/models/fields/

    一般来说,Field不需要另行导入,因为导入models就够了,Field类都在models

    from django.db import models
    

    1 基类django.db.models.Field

    django.db.models.Field是所有Field类的基类,以下简称Field
    Field的常见属性(建立实例时可用)

    • null: 是否能为空,默认为False
    • default: 默认值,默认为False
    • primary_key: 是否为主键,默认为False
      如果没有为模型中的任何字段指定primary_key=True,Django将自动添加一个AutoField(id)来保存主键。
      primary_key=True表示null=False,unique=True。一个Model上只允许有一个主键。
      主键字段是只读的。如果更改现有对象上主键的值,然后保存它,将在旧对象的旁边创建一个新对象。
    • unique: 是否唯一,默认为False
    • choices: 给Field指定可以选择的值(比如性别字段一般只能选择男或者女),默认为None(即不指定)
      例子:
    class Student(models.Model):
        gender = [
        # 每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是用户看到的值。
            ("m", "男"),
            ("f", "女")
        ]
    
        gender = models.CharField(max_length=10, choices=gender, default='m', verbose_name="性别")
    
    • verbose_name: 可读名,前端展示form表单时,为该属性用的表头文本。如果不设置,则将使用本字段属性名(即变量名)自动创建它(将下划线转换为空格)
    • help_text: 与表单部件一起显示的辅助信息文本,常常用于提示字段输入格式(可以写HTML)
      例子
    help_text="Please use the following format: <em>YYYY-MM-DD</em>."
    

    当然,Field类还有一些其他的属性,这里只介绍一些基础的,详细属性可查看Field对应的官方文档

    2 常用类

    CharField
    最常用的,字符串类型字段
    额外的必需参数:
    max_length: 字段的最大长度(字符)。
    使用示例:

    name = models.CharField(max_length=50, verbose_name="姓名")
    

    补充: max_length最好不要超过255,参考:database backend notes。对于大量文本请使用TextField
    IntegerField
    整数类型字段
    补充:从-2147483648到2147483647的值在Django支持的所有数据库中都是安全的。

    3 其他类

    • EmailField
  • 相关阅读:
    4412--PWM驱动部分
    Linux中进程与线程
    Linux 进程间通信 --信号量
    Linux 进程间通信 --消息队列
    Linux 进程间通信 --共享内存
    QByteArray转成十六进制的QString
    网易C++设计模式笔记(二)面向设计对象的原则
    网易C++设计模式笔记(一)
    windows安装系统记录
    设计模式解析第二版 课后习题自我解答
  • 原文地址:https://www.cnblogs.com/BigShuang/p/14285588.html
Copyright © 2011-2022 走看看