美文网首页
Django model设计,注册及简介

Django model设计,注册及简介

作者: andpy | 来源:发表于2017-10-19 10:35 被阅读51次

    以验证码得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设计,注册及简介

          本文链接:https://www.haomeiwen.com/subject/vqcuuxtx.html