model里字段详情 创建表

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)
models.py

1.3 参数

#null               数据库中字段是否可以为空
#blank              表单验证可以为空
#default            数据库中字段的默认值
#primary_key        数据库中字段是否为主键
#db_index           数据库中字段是否可以建立索引
#unique             数据库中字段是否可以建立唯一索引
原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13894592.html