Django:在覆盖模型时访问会话变量';s保存方法

Django:在覆盖模型时访问会话变量';s保存方法,django,django-models,Django,Django Models,在重写任何模型保存方法时,是否有方法访问会话变量 class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def save(self, *args, **kwargs): //Code for accessing session variable super(Blog, self).save(*args, **kwargs) 谢谢,

在重写任何模型保存方法时,是否有方法访问会话变量

class Blog(models.Model):
  name = models.CharField(max_length=100)
  tagline = models.TextField()

  def save(self, *args, **kwargs):
    //Code for accessing session variable
    super(Blog, self).save(*args, **kwargs)
谢谢,

不是直接的

可以在save方法中添加一个额外参数,并在调用超级save之前将其弹出:

def save(self, *args, **kwargs):
    request = kwargs.pop('request')

view...:
    instance.save(request=request)
但是 如果您正在保存表单,则最好使用

view...:
    instance = form.save(commit=False)
    # do some logic
    instance.save()