让当前用户在我的某个模型的save方法中使用它

时间:2016-01-30 00:09:39

标签: django django-models

我需要让当前用户登录我的某个模型的save方法,就像视图中的request.user一样,但在保存模型方法中,这是否可行?如果是的话,我该怎么办呢?

1 个答案:

答案 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