django-自带admin后台如何给某些field赋默认值(比如user=request.user)然后隐藏它
2015-02-02 02:15
567 查看
其实整天看英文文档也是有坏处的,我中文都不知道怎么表达了,看我题目多别扭
直接上代码:
models.py
class Tag(models.Model):
name = models.CharField(max_length=50)
owner = models.ForeignKey(User)
def __unicode__(self):
return self.name
admin.py
class TagAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.owner = request.user
obj.save()
def get_form(self, request, obj=None, **kwargs):
self.exclude = ("owner", )
form = super(TagAdmin, self).get_form(request, obj, **kwargs)
return form
admin.site.register(Tag, TagAdmin)
save_model可以保存Tag的owner为当前user,没错,ModelAdmin可以获得request
get_form的重载可以隐藏owner这个field免得用户误修改(其实就是修改了,点保存的那一刻用户还是会变成当前用户
)
至于为什么非要用它自带后台来更新Tag,可以看这里
效果图:
如何出现的,请看上一篇帖子
直接上代码:
models.py
class Tag(models.Model):
name = models.CharField(max_length=50)
owner = models.ForeignKey(User)
def __unicode__(self):
return self.name
admin.py
class TagAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.owner = request.user
obj.save()
def get_form(self, request, obj=None, **kwargs):
self.exclude = ("owner", )
form = super(TagAdmin, self).get_form(request, obj, **kwargs)
return form
admin.site.register(Tag, TagAdmin)
save_model可以保存Tag的owner为当前user,没错,ModelAdmin可以获得request
get_form的重载可以隐藏owner这个field免得用户误修改(其实就是修改了,点保存的那一刻用户还是会变成当前用户
)
至于为什么非要用它自带后台来更新Tag,可以看这里
效果图:
如何出现的,请看上一篇帖子
相关文章推荐
- django后台自带User,Group。下面是给admin添加自定义表,并为admin添加副文本编辑器
- 使用xadmin替换django自带的admin后台
- 关于Django 中启动自带服务器进入后台admin没有样式的问题...
- 如何在用户停止操作一段时间后隐藏界面上的某些东东,比如遥控器按出的menu,一段时间不按遥控器就让menu消失
- django 如何使用django自带的user做外键
- 如何在用户停止操作一段时间后隐藏界面上的某些东东,比如遥控器按出的menu,一段时间不按遥控器就让menu消失
- Django里,如何更改ADMIN管理后台的显示
- 如何在django的admin后台管理中显示多对多字段的值
- 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍
- python-django如何在sae中使用自带ImageField和FileField -django-上善若水小站
- 给django admin后台管理user扩展下拉框及多选框的字段
- 登陆admin后台 报错 'WSGIRequest' object has no attribute 'user'
- Django通过pycharm创建后,如何登录admin后台?
- Django通过pycharm创建后,如何登录admin后台?
- django自带后台admin设置中文
- 如何动态设置django的model field的默认值
- django 后台admin管理界面自带分页
- 如何让django的admin组件显示为中文
- django 后台 name 'admin' is not defined
- Request.ServerVariables["LOGON_USER"] 如何使用