Django:保存创建对象实例的用户

Posted

技术标签:

【中文标题】Django:保存创建对象实例的用户【英文标题】:Django : save the user that has created the object instance 【发布时间】:2017-12-30 06:08:08 【问题描述】:

我有一个模型包,其字段所有者应包含创建对象实例的用户 ID。 我考虑过覆盖 save() 方法,但我不知道如何获取登录用户。 我是这样处理的

class Package(models.Model):
    source = models.CharField(max_length=20)
    destination = models.CharField(max_length=20)
    date_estimation = models.DateTimeField()
    owner = models.ForeignKey('auth.User', related_name='packages', on_delete=models.CASCADE)

    def save(self, *args, **kwargs):
    #WAHT TO DO HERE ?
        super(Package, self).save(*args, **kwargs)

如何保存当前登录的用户?谢谢你

【问题讨论】:

查看此链接,看看它是否对您有帮助 ***.com/questions/1477319/… 【参考方案1】:

建议在视图中使用Package.owner = request.User 保存用户,但如果您想在保存方法中使用它read this

【讨论】:

我通过将用户保存在视图中解决了这个问题,感谢您的帮助:)

以上是关于Django:保存创建对象实例的用户的主要内容,如果未能解决你的问题,请参考以下文章

从 django 模型创建 javascript 对象(类)

Django文档阅读之查询

django认证系统-user对象(创建,改密,认证)

同时在两个模型中保存对象实例

Django创建对象的create和save方法

Django:如何让 datetime 对象知道创建它的时区?