zoukankan      html  css  js  c++  java
  • Django ORM 常用字段和参数

    Django ORM 常用字段和参数

    一:常用字段

    AutoField
    int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。

    IntegerField
    一个整数类型,范围在 -2147483648 to 2147483647。

    CharField
    字符类型,必须提供max_length参数, max_length表示字符长度。

    DateField
    日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。

    DateTimeField
    日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。

    二:自定义char类型字段
    首先要知道在常用字段中CharField默认的字段类型为varchar类型
    如何指定自定义char类型字段:
    1.先自定义一个类
    class FixedCharField(models.Field): #FixedCharField为自己取的名称,不是固定的

    """
    自定义的char类型的字段类
    """
    def __init__(self, max_length, *args, **kwargs):
        self.max_length = max_length
        super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs)
    
    def db_type(self, connection):
        """
        限定生成数据库表的字段类型为char,长度为max_length指定的值
        """
        return 'char(%s)' % self.max_length
    

    2.在使用的时候,就继承类名
    class Person (models.Model):
    name = models.CharField(max_length=32) #默认的CharField字段是varchar类型
    new_name = FixedCharField(max_length=64, default="张三") #而怎么设置他的类型为char类型,并且为自定义的长度,注意不是models.FixedCharField

    def __str__(self):
        return  self.name
    

    在数据库中可以看到,字段的类型为自定义的char类型长度

  • 相关阅读:
    Docker 基础 B站 学习 最强 教程
    apache+php安装
    php拓展 swoole 安装
    go beego框架 入门使用 (一)
    php 使用 phpword 操作 word 读取 word
    linux + MongoDB 安装 + 部署 + 讲解 (满满干货看完记得收藏噢)
    Thanos设计简析
    Prometheus TSDB文件格式-index
    Linux Kernel文件系统写I/O流程代码分析(二)bdi_writeback
    Linux Kernel文件系统写I/O流程代码分析(一)
  • 原文地址:https://www.cnblogs.com/sunny7/p/10351147.html
Copyright © 2011-2022 走看看