1.1 Meta源信息
from django.db import models # Create your models here. class Cls(models.Model): title=models.CharField(max_length=100) class UserInfo(models.Model): username=models.CharField(max_length=32) password=models.CharField(max_length=32) cls=models.ForeignKey(Cls,on_delete=models.CASCADE) class Meta: # 数据库中生成的表名称 db_table=‘table_name‘ #Django Admin中显示的表名称 verbose_name=‘user‘ verbose_name_plural=‘user‘ # 4 联合唯一索引 unique_together=(("name","cls")) # 5 联合索引 (缺点是左前缀,写SQL语句基于password时不能命中索引,查找慢) # 如:select * from tb where password = ‘xx’ 就无法命中索引 index_together=[ ("name","cls") ]
1.2 常用字段
class UserGroup(models.Model): #自增字段 uid=models.AutoField(primary_key=True) #字符串字段 name=models.CharField(max_length=32,null=True,blank=True) #邮箱字段 email=models.EmailField(max_length=32) #文本字段 text=models.TextField() #时间字段 ctime=models.DateTimeField(auto_now_add=True) #只有添加时才会更新 uptime=models.DateTimeField(auto_now=True) #只有修改就会更新时间 #地址字段 ip1=models.IPAddressField() #地址字段 ip2=models.GenericIPAddressField() #通用地址字段 #布尔类型字段 active=models.BooleanField(default=True) data01=models.DateTimeField() #日期+时间格式 data02=models.DateField() #日期格式 data03=models.TimeField() #时间格式 age=models.PositiveSmallIntegerField() #正小整数0~32767 balance=models.SmallIntegerField() #小整数 -32768~32767 money=models.PositiveIntegerField() #正整数 0~2147483647 bignum=models.BigIntegerField() #长整形 -9223372036854775808 ~ 9223372036854775807 user_type_choices=( (1,"超级用户"), (2,"普通用户"), (3,"普普通用户") ) user_type_id=models.IntegerField(choices=user_type_choices,default=1)
1.3 参数
#null 数据库中字段是否可以为空 #blank 表单验证可以为空 #default 数据库中字段的默认值 #primary_key 数据库中字段是否为主键 #db_index 数据库中字段是否可以建立索引 #unique 数据库中字段是否可以建立唯一索引
原文:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13894592.html