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"),)  # 应为两个存在的字段  联合唯一索引 联合出现的值只能一次
  • 相关阅读:
    MTG Hole
    串行SPI口Flash全部引脚
    名词解释:100BASEX
    锂离子电池开路电压与电池剩余电量的对应关系
    BT.656接口数据帧的结构
    Oracle SCN是什么
    oracle联机文档
    ORACLE SERVER 组成
    struts文件上传时异常问题
    C++ NULL的使用
  • 原文地址:https://www.cnblogs.com/zhangchen-sx/p/10317450.html
Copyright © 2011-2022 走看看