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)
django-admin 设计User外键,设计model的更多相关文章
- django admin编辑被外键关联的主表时支持显示字表记录
假设有模型 class A(models.Model): name = models.CharField() class B(models.Model): name = models.CharFiel ...
- 【Python】django模型models的外键关联使用
Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...
- django开发中关于外键设置
django开发中关于外键设置 我们建模型的时候会用到ForeignKey 而由于外键的约数会导致一些保存 所有我们ctrl+左键进入源码 源码 def __init__(self, to, on_d ...
- Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询
Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...
- Django学习手册 - ORM 外键
Django 外键创建 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_dele ...
- Django 中跨 app 创建外键、多对多引用的方法
问题描述 我的 Django 项目中有两个 app. 在 PersonalCenter app下的 models.py 下定义了一个 Footprint 类: 在 LoginAndRegister a ...
- python django中的orm外键级联删除
今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...
- Django(15)外键和表关系
外键删除操作 如果一个模型使用了外键.那么在对方那个模型被删掉后,该进行什么样的操作.可以通过on_delete来指定.可以指定的类型如下: CASCADE:级联操作.如果外键对应的那条数据被删除了, ...
- Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...
随机推荐
- Android中Intent传递类对象的方法一(Serializable)
Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short ...
- java - day12 - ShapeTest
抽象类的定义及使用 抽象类不能实例化,但抽象类名的数组类型可以,见案例 package com.example; public class ShapeTest { public static void ...
- mysql workbench 将查询结果导出 sql 文件
之前一直使用的是plsql,因为换了家公司所以改成mysql了,我使用的时候mysql免费的客户端工具 workbench, 因为之前没用过,所以有很多功能找不到. 这里将用到的功能记录一下: 1:将 ...
- 基于windows的resin配置
Resin 与 Eclipse for JavaEE 的整合方法: 1.新建一个项目,将web application配置到resin.conf中 附上resin_struts2-111.conf文件 ...
- Spark Core源代码分析: RDD基础
RDD RDD初始參数:上下文和一组依赖 abstract class RDD[T: ClassTag]( @transient private var sc: SparkContext, @tran ...
- ListView中pointToPosition()方法使用具体演示样例
MainActivity例如以下: package cc.testpointtoposition; import java.util.ArrayList; import java.util.HashM ...
- grails email 发送邮件插件
1.配置email插件,在Config.groovy文件中配置: plugins { compile ":mail:1.0.5" } 2.配置Config.groovy文件: gr ...
- Eclipse 创建 Java 包
打开新建 Java 包向导 你可以使用新建 Java 包向导来创建 Java 包.Java 包向导打开方式有: 通过点击 "File" 菜单并选择 New > Package ...
- HDU1712ACboy needs your help【分组背包】
ACboy needs your help Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 面试十大常见Java String问题
本文介绍Java中关于String最常见的10个问题: 1. 字符串比较,使用 "==" 还是 equals() ?简单来说, "==" 判断两个引用的是不是同 ...