2011-11-13 61 views
2

有什麼辦法來訪問會話變量,同時覆蓋所有機型保存方法的Django:訪問會話變量,而覆蓋模型的保存方法

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) 

感謝,

回答

2

沒有直接

在保存方法中添加一個額外的參數,並在調用超級保存之前將其彈出:

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()