如何将会话数据导入Django模型?

我正在尝试将默认值设置为在django会话中存储的列。以下代码给出了错误get_state_id() missing 1 required positional argument: 'request',我知道此错误的原因。但是,当我没有在已定义的函数request中提供get_id参数时,便无法获得id的值。请帮助我。

def get_id(request):
    id = request.session.get('id')
    return id

class Forms(models.Model):
    form_id = models.AutoField(primary_key=True)
    id= models.IntegerField(default=get_id)
bitwzj 回答:如何将会话数据导入Django模型?

一个想法是重写save方法。

def get_id(request):
    id = request.session.get('id')
    return id

class Forms(models.Model):
    form_id = models.AutoField(primary_key=True)
    id = models.IntegerField()

    def save(self,request,*args,**kwargs):
        if not self.id:
            self.id = get_id(request)   
        super().save(*args,**kwargs)

,

出于从模型执行此操作的目的,我已经从管理页面本身完成了操作。下面是代码的快照。

def save_model(self,obj,form,change):
    id = request.session.get('id')
    obj.id= id
    super(FormsAdmin,self).save_model(request,change)
本文链接:https://www.f2er.com/3089754.html

大家都在问