一 场景问题

继续使用IDC Model,在此Model增加user字段,用于记录添加当前数据的用户:

class IDC(models.Model):

user = models.ForeignKey(User, on_delete=models.CASCADE, editable=False, null=True) # 记录创建该数据的用户

name = models.CharField(max_length=64)

contact = models.CharField(max_length=32)

phone = models.CharField(max_length=32)

address = models.CharField(max_length=128)

create_time = models.DateField(auto_now=True)

def __str__(self):

return self.name

class Meta:

verbose_name = "IDC机房"

verbose_name_plural = verbose_name

1

2

3

4

5

6

7

8

9

10

11

12

13

14

问题:如何在增加IDC数据的时候,获取当前登录的用户信息,并保存到user字段里?

二 解决方法

打开IdcManager目录的adminx.py,在IDCAdmin类里增加save_models方法,代码如下:

@xadmin.sites.register(IDC)

class IDCAdmin(object):

list_display = ("user", "name", "contact", "phone", "address", "create_time")

list_display_links = ("name",)

def save_models(self):

self.new_obj.user = self.request.user

super().save_models()

1

2

3

4

5

6

7

8

三 总结

xadmin的文档和资料比较少,这个问题虽然也就三行代码的事情,但是我在百度是没找到解决方案的。

最终是查看xadmin的代码摸索解决的。

那么,应该查看哪部分代码?考虑到这个操作是在保存数据的时候触发的,那么就找xadmin处理保存操作(编辑界面)的代码:

venv\Lib\site-packages\xadmin\views\edit.py

————————————————

版权声明:本文为CSDN博主「yuhan963」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yuhan963/article/details/79187425

xadmin获取mysql_Django2集成xadmin详解-5-获取登录用户信息并填充相应Model字段相关推荐

  1. linux c 获取进程p id,详解Linux获取线程的PID(TID、LWP)的几种方式

    在 Linux C/C++ 中通常是通过 pthread 库进行线程级别的操作. 在 pthread 库中有函数: pthread_t pthread_self(void); 它返回一个 pthrea ...

  2. java session失效之后跳转_详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml 15 第二步,配置spring-mvc.xml 第三步,写拦截器SystemSe ...

  3. php java集成_PHP和Java 集成开发详解分析 强强联合第1/4页

    PHP和Java 集成开发详解分析 强强联合第1/4页 更新时间:2008年11月14日 12:28:23   作者: 很久以前,有人从www上看到看到天空上一个很亮的亮点,它就是Java语言,与此同 ...

  4. PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解

    PHP的$_SERVER['HTTP_HOST']获取服务器地址功能详解 uchome的index文件中的二级域名功能判断,使用了php的$_SERVER['HTTP_HOST'],开始对这个不是很了 ...

  5. php获取总共内存_PHP获取内存使用情况详解

    本篇将详解php获取内存使用情况. PHP内置函数memory_get_usage()能返回当前分配给PHP脚本的内存量,单位是字节(byte).在WEB实际开发中,这些函数非常有用,我们可以使用它来 ...

  6. grep mysql_详解grep获取MySQL错误日志信息的方法

    为方便维护MySQL,写了个脚本用以提供收集错误信息的接口.这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径. 以下是全部相关代码: #!/usr/b ...

  7. android pcm 音量_Android中实时获取音量分贝值详解

    基础知识 度量声音强度,大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位,计算公式如下: 分子是测量值的声压,分母是参考值的声压(20微帕,人类所能听到的最小声压).因 ...

  8. php读音量大小,Android_Android中实时获取音量分贝值详解,基础知识 度量声音强度,大 - phpStudy...

    Android中实时获取音量分贝值详解 基础知识 度量声音强度,大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位,计算公式如下: 分子是测量值的声压,分母是参考值的声压 ...

  9. Js获取图片主色调,近似色,互补色,以及根据图片颜色获取主题配色方案详解、插件。

    Js获取图片主色调,近似色,互补色,以及根据图片颜色获取主题配色方案详解.插件. **应用场景:**在很多时候,前端开发过程中需要动态的获取图片的主要的颜色值,并根据主色调去调整主题样式的颜色或者模拟 ...

  10. mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...

    获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:1 ...

最新文章

  1. MySQL基础篇:单行函数
  2. 慕课网Flask高级编程实战-10.鱼书业务处理
  3. h5获取http请求头_React 前端获取http请求头信息
  4. Spring boot中使用log4j记录日志
  5. ajax 入参为list_ajax向后台传递list参数
  6. python并发运行
  7. 敏捷开发系列学习总结(12)——给Scrum Master的十个建议,你值得拥有
  8. 深入 JVM 字节码,解析类加载、链接、初始化、创建对象、对象初始化、程序执行的流程
  9. 如何成为一名卓越的数据科学家-桃树七剑之二:数据准备
  10. 【ArcGIS|空间分析|网络分析】5 计算服务区和创建 OD 成本矩阵
  11. cad尺寸标注快捷键_CAD快速标注方法你知道几种?
  12. 火狐firefox扩展插件开发extension代码调试方法
  13. 华为盒子显示未连接服务器,华为盒子 连接服务器地址
  14. 计算机软件专业硕士,软件工程硕士与计算机硕士区别
  15. 张一鸣:我的大学四年收获及工作感悟
  16. 【办公实用网站收集】免费模板
  17. 美国国防科研情报追踪系统发布,200余所美国实力高校尽收眼底!
  18. 【渗透测试工具beef】XSS渗透测试工具beef如何安装使用?
  19. JS笔记:实现网页税收表
  20. Word表格跨页自动显示表头 自动添加标题

热门文章

  1. AI界的革命!终于可以自动标注了!
  2. redission分布式锁
  3. bzoj2616:SPOJ PERIODNI
  4. (洛谷)P1182 数列分段II
  5. [算法]机器人运动范围
  6. lsof -Pni4 | grep LISTEN | grep php
  7. 车间调度建模系列6|扩展析取图之顺序不依赖准备时间
  8. OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
  9. 【生活相关】三(米新江老师语录)
  10. 《深度学习Python实践》第17章——算法调参