我需要让当前用户登录我的某个模型的save方法,就像视图中的request.user
一样,但在保存模型方法中,这是否可行?如果是的话,我该怎么办呢?
答案 0 :(得分:12)
如果你的models.py中有这样的模型:
class Post(models.Model):
title = models.CharField(max_length=100)
created_by = models.ForeignKey(User, editable=False)
然后在你的admin.py中应该是:
class PostAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
if not change:
obj.created_by = request.user
obj.save()
admin.site.register(Post, PostAdmin);
如果您希望允许用户将editable=False
分配给其他用户,也可以删除created_by
。