django - 让当前用户在我的模型之一的save方法中使用它

标签 django django-models

我需要让当前用户登录我的模型之一的save方法,就像 View 中的request.user一样,但是在save模型方法中,这可行吗?如果是的话,我该怎么办?

最佳答案

如果您在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

关于django - 让当前用户在我的模型之一的save方法中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35096342/

相关文章:

python - QuerySet,对象没有属性id - Django

python - 如何使用 django 在多模型中进行搜索

python - 在 REST API 中填充 ManyToMany 字段值时严重影响性能(使用 django REST 框架)

python时间问题

python - 从 Django timesi 中删除尾随数据

django - 更改最终用户的 postgres 密码

python - Django 中的 Multi-Tenancy SAAS

django - 将变量(标志)从 urls.py 传递到 django 中的 views.py

python - Django管理命令mysql报错

python - 模板不显示信息 - django