zoukankan      html  css  js  c++  java
  • django-admin 设计User外键,设计model

    设置外键

    class profile_user(AbstractBaseUser, PermissionsMixin):
        company = models.ForeignKey(Company, default=2,verbose_name='单位名称')
        USERNAME_FIELD = 'userna'
        REQUIRED_FIELDS = ['username']
    
        class Meta:
            verbose_name = _('user')
            verbose_name_plural = _('users')
            # abstract = True 不设为抽象的,不然会报错
            unique_together = (("username", "company"),)
            db_table ='auth_user'
    
    

    将username和company连接起来判断唯一

    设置USERNAME_FIELD为新定义的一个字段,将username和company连接起来判断唯一,实现了不同company下面可以有相同username,
    通过unique_together = (("username", "company"),)这个来设置。

    default,字段为空,字段名,表名

    company = models.ForeignKey(Company, default=2,verbose_name='单位名称'),default这个还挺好用,指定哪个model可以添加,要不然添加的时候出问题,因为Company如果还没创建添加User就会出错。

    usertype = models.CharField(max_length=2,
                                    choices=(
                                        ('gl','管理员'),
                                        ('md','普通用户'),
                                    ),null=False,blank=False,default='md',verbose_name='用户类型')
    

    这个可以显示一个下拉框在admin后台,让你进行选择,('gl','管理员'),前面的为保存字段名称,后面的为显示字段名称,default='md',默认显示

    contact = models.CharField(max_length=30, verbose_name='联系人', blank=True, null=True),一般是这么写字段可以设定为空blank=True, null=True

    contact = models.CharField(max_length=30, verbose_name='联系人', blank=True, null=True),verbose_name='联系人'设置显示在admin字段名称

    class Meta:
            verbose_name = '客户'
            verbose_name_plural = verbose_name
            db_table = 'auth_custom'
    

    verbose_name = '客户'
    verbose_name_plural = verbose_name

    db_table和verbose_name都可以设置显示表名称,我倒是忘记了有什么区别了。

    设置字段

    设置数值字段小数点后有六位
    lng = models.DecimalField(max_digits=10, decimal_places=6, verbose_name='经度',blank=True,null=True)

  • 相关阅读:
    VirtualBox设置共享文件夹和镜像访问的方法
    虚拟机文件越来越大解决方案
    linux磁盘清理方法 Linux 下垃圾清理工具 BleachBit
    linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数
    windows桌面添加右键环境
    各种机械键盘轴的差别,究竟什么轴好
    XML是什么,它能够做什么?——写给XML入门者
    MATLAB中导入数据:importdata函数
    理解ThreadLocal
    Leetcode:best_time_to_buy_and_sell_stock_II题解
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5457897.html
Copyright © 2011-2022 走看看