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"),) # 应为两个存在的字段 联合唯一索引 联合出现的值只能一次

Django 自定义的更多相关文章

  1. django 自定义标签和过滤器

    django 自定义标签和过滤器 Django支持自定义标签和过滤器.起初还不太重视它这项功能,但最近试了试自定义标签.发现django这个功能实在是太爽了. 首先在你项目的一个app中建立一个pyt ...

  2. python django 自定义 装饰器

    # -*-coding:utf-8-*- __author__ = "GILANG (pleasurelong@foxmail.com)" """ d ...

  3. Django自定义模板函数

    Django自定义模板函数 https://www.cnblogs.com/SunsetSunrise/p/7680491.html 在django中新建一个应用:listpage在listpage中 ...

  4. Django自定义分页并保存搜索条件

    Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...

  5. django自定义实现登录验证-更新版

    django自定义实现登录验证 django内置的登录验证必须让开发者使用django内置的User模块,这会让开发者再某些方面被限制住 下面的模块是我自己自定义实现的django验证,使用方式和dj ...

  6. Django 自定义标签与过滤器报错 No module named 'templatetags'

    Django 自定义标签与过滤器报错 按照网上的教程如果想使用自定义的标签与过滤器就得往settings.py中添加下列数据 TEMPLATES = [ { 'BACKEND': 'django.te ...

  7. Django 自定义表名和字段名

    Django 自定义表名和字段名 通过db_table和db_column自定义数据表名和字段名 假如你的数据库里已经有了一张数据表,且该表包含多个字段,你希望通过Django直接访问该数据表的各个字 ...

  8. Django自定义模板

    定义simple_tag步骤 一.创建templatetags文件 首先在app下创建templatetags文件:名字不许叫这个,不能改变. 二.在文件中创建一个py文件 文件名自定义 三.在创建的 ...

  9. [转]django自定义表单提交

    原文网址:http://www.cnblogs.com/retop/p/4677148.html 注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义 ...

  10. Django自定义分页、bottle、Flask

    一.使用django实现之定义分页 1.自定义分页在django模板语言中,通过a标签实现; 2.前段a标签使用<a href="/user_list/?page=1"> ...

随机推荐

  1. char *直接赋值和strcpy之间什么区别

    赋值是两个指针指向同一个位置. 而strcpy则是把内容拷贝了一份给另个一指针.

  2. golang 中处理大规模tcp socket网络连接的方法,相当于c语言的 poll 或 epoll

    https://groups.google.com/forum/#!topic/golang-nuts/I7a_3B8_9Gw https://groups.google.com/forum/#!ms ...

  3. Raid5之后安装系统,挂载磁盘

    配置RAID5 略 2.U盘安装centos系统(我的版本是centos7.0) 这一步骤网上很多,可以参考这篇:http://jingyan.baidu.com/article/359911f571 ...

  4. Spark创建空的DataFrame

    前言 本文主要给出Spark创建空的DataFrame的代码示例,这里讲的空的DataFrame主要指有列名(可以自己随意指定),但是没有行的DataFrame,因为自己在开发过程中有这个需求,之前并 ...

  5. [sh]rm -rf*的防护和普通用户执行命令

    尽量用普通用户执行,因为普通用户无法删除root的文件,避免误删除 rm -rf 不可取, 尽量find+rm -rf 尽量cd && rm -rf * 加上逻辑 cd /tmp/re ...

  6. Django 模板中 变量 过滤器的使用方法

    一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的 ...

  7. python 美化打印json数据

    #!/usr/bin/python3 # -*- coding: utf-8 -*- import json data = {'name':'张森','email':'zhangsen@qq.com' ...

  8. SpringMVC的Model ModeMap ModelAndView @ModelAttribute @SessionAttribute区分

    Spring MVC整理系列(05)————Spring MVC配置解析及整合SpriSpring MVC之@ModelAttribute.@SessionAttributes以及Model的使用介绍 ...

  9. js贪心算法---钱币找零问题

    function MinCoinChange(coins){ var coins = coins.sort(function(a,b){ return b - a; }); this.makeChan ...

  10. js计算最大公约数和最小公倍数

    一.计算最大公约数 1.小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数 function gcd2(a,b){ var result = 1; for(var ...