zoukankan      html  css  js  c++  java
  • Django 自定义

    from django.db import models
    
    class MyCharfield(models.Field):
        def __init__(self,max_length,*args,**kwargs):
            self.max_length = max_length
            super(MyCharfield,self).__init__(max_length = max_length,*args,**kwargs)
    
        def db_type(self,connection):
            return 'char(%s)'% self.max_length
    
    class Person(models.Model):
        pid = models.AutoField(primary_key=True,)
        name =models.CharField(max_length=32,db_column='new_name',verbose_name='姓名') # 指定列名  orm操作还是name
        age = models.IntegerField(null=True,blank=True,verbose_name='年龄',help_text='填写真实年龄')  # 数据可为空, 填充可为空
        # birth = models.DateTimeField(auto_now_add=True)  # 创建时提交当前时间
        birth = models.DateTimeField(auto_now=True)  # 每次修改保存当前时间
        # auto_now_add   auto_now   default 3个互斥
        phone = MyCharfield(max_length=11,)  # 不可编辑-不显示
        gender = models.IntegerField(default=3,choices=((1,''),(2,''),(3,'不详'))) # 选择
    
        def __str__(self):
            return '{} - {}'.format(self.pid,self.name)
    
        class Meta:  #元类 信息
            # 数据库中生成的表名称 默认 app名称 + 下划线 + 类名
            db_table = "person"  # 改表名
    
            # admin中显示的表名称
            verbose_name = '个人信息'
    
            # verbose_name加s
            verbose_name_plural = '所有用户信息'
    
            # 联合索引
            index_together = [
                ("pub_date", "deadline"),  # 应为两个存在的字段 遵循最左前缀
            ]
    
            # 联合唯一索引
            unique_together = (("driver", "restaurant"),)  # 应为两个存在的字段  联合唯一索引 联合出现的值只能一次
  • 相关阅读:
    git pull origin master命令后发生冲突
    计算属性和侦听器
    微信小程序 wx.navigateBack携带参数
    小程序----路由
    quill工具栏出现提示的功能
    quill修改字体大小
    quill报错,"RangeError: Maximum call stack size exceeded"
    quill添加字体
    新建一个vue项目(补充了vue-cli4.0快速搭建一个项目【站在巨人的肩膀上并亲测】)
    codeforce round 7
  • 原文地址:https://www.cnblogs.com/zhangchen-sx/p/10317449.html
Copyright © 2011-2022 走看看