Django model设计,注册及简介

以验证码得model设计为例

创建model

在users app中得models.py中

class VerifyCode(models.Model):
"""
短信验证码  
"""
code = models.CharField(max_length=10, verbose_name="验证码")
mobile = models.CharField(max_length=11, verbose_name="电话")
#注意函数now()代表编译时间,now代表添加时间
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

#此处配置可以在后台显示得时候由默认 VerifyCode显示为短信验证码
class Meta:
    verbose_name = "短信验证码"
    verbose_name_plural = verbose_name
#在查看详情时,更改默认显示 VerifyCodeObject 为具体得验证码
def __str__(self):
    return self.code

注意:在每次修改model中的字段的时候,都需要重新进行migate和makemigateions操作

在adminx.py中注册

先定义管理类:

class VerifyCodeAdmin(object):
    #配置了是要在xadmin中显示的字段,此处展示的为验证码,手机,添加时间注意与model字段一致
    list_display = ['code','mobile','add_time']

进行注册:

    xadmin.site.register(VerifyCode, VerifyCodeAdmin)

运行项目在后台查看,并验证

models字段属性

1、null=True
  数据库中字段是否可以为空
2、blank=True
  django的 Admin 中添加数据时是否可允许空值
3、primary_key = False
  主键,对AutoField设置主键后,就会代替原来的自增 id 列
4、auto_now 和 auto_now_add
  auto_now   自动创建---无论添加或修改,都是当前操作的时间
  auto_now_add  自动创建---永远是创建时的时间
5、choices
GENDER_CHOICE = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
gender = models.CharField(max_length=2,choices = GENDER_CHOICE)
6、max_length
7、default  默认值
8、verbose_name  Admin中字段的显示名称
9、name|db_column  数据库中的字段名称
10、unique=True  不允许重复
11、db_index = True  数据库索引
12、editable=True  在Admin里是否可编辑
13、error_messages=None  错误提示
14、auto_created=False  自动创建
15、help_text  在Admin中提示帮助信息
16、validators=[]
17、upload-to   上传到哪个位置,更多与image,filepath配合使用

你可能感兴趣的:(Django model设计,注册及简介)