• 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类型长度

  • 相关阅读:
    xlwt 写sheet xls 文件
    xlrd 安装步骤
    托管DLL和非托管DLL的区别
    MongoDB 第一篇
    memcache
    gitignore忽略规则
    GIT 学习笔记
    前端渲染模板(一):Thymeleaf
    架构实战项目心得(十四):spring-boot结合Swagger2构建RESTful API测试体系
    架构实战项目心得(十一):基于spring-security-oauth2的mysql数据表设计
  • 原文地址:https://www.cnblogs.com/sunny7/p/10351147.html
Copyright © 2020-2023  润新知