django admin添加数据自动记录user到表中的实现方法

yipeiwu_com6年前Python基础

1.需求:在后台添加一条数据的同时要把添加者记录到表中。

2.models.py

class Setting(models.Model): 
  ...      
  user = models.CharField(max_length=50, blank=True, help_text=u"添加者")
  ...

3.admin.py

@register(Setting)
class SettingAdmin(admin.ModelAdmin):
  list_display = ("pk", "user", "other_field")
  def save_model(self, request, obj, form, change):
    obj.user = request.user
    obj.save()
  readonly_fields = ("user", )

以上这篇django admin添加数据自动记录user到表中的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

跟老齐学Python之有容乃大的list(2)

对list的操作 合并list 《有容乃大的list(1)》中,对list的操作提到了list.append(x),也就是将某个元素x 追加到已知的一个list后边。 除了将元素追加到l...

Python中的单下划线和双下划线使用场景详解

Python中的单下划线和双下划线使用场景详解

单下划线 单下划线用作变量 最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用。为了方便理解,_可以看作被丢弃的变量名称,这样做可以让阅读你代码的人知道,这是...

python3 mmh3安装及使用方法

python3 mmh3安装及使用方法

mmh3安装方法 哈希方法主要有MD、SHA、Murmur、CityHash、MAC等几种方法。mmh3全程murmurhash3,是一种非加密的哈希算法,常用于hadoop等分布式存储...

python 内置函数filter

python 内置函数filter class filter(object): """ filter(function or None, iterable) --> fil...

Python多线程编程(八):使用Event实现线程间通信

使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信...