未认证用户的会话管理

| 我对会话管理有一个奇怪的问题。 我实现了一个表单链,并在表单完成后将模型保存到数据库,但是该模型具有诸如
create_user
update_user
等字段。 为了填写这两个字段,当然应该有一个经过身份验证的用户。但是,我的表单链也可以由匿名用户填写。 如果该匿名用户在会话刷新之前注册或登录系统,则应将其“ 3”分配给“ 0”和“ 1”字段。 实施这种系统的最佳方法是什么? 我希望我能说明情况。 谢谢     
已邀请:
        保存模型后,将模型实例保存到会话中的列表中,例如: views.py:
...
form = DataForm(request.POST)
if form.is_valid():
    instance = form.save()
    instances = request.session.get(\'filed_instances\', [])
    instances.append(instance)
    request.session[\'filed_instances\'] = instances
登录后(根据您的实施途径而定),您可以在登录方法中进行以下更新:
instances = request.session.get(\'filed_instances\')
if instances:
    for instance in instances:
        instance.create_user = request.user
        instance.update_user = request.user
        instance.save()
    
        将您登录的用户名放在会话变量中。在会话开始时,如果未设置该变量,请将其设置为空字符串,null或任何其他代表您匿名用户的值。然后,在将数据保存到数据库中时,使用该名称作为创建/更新用户名。 希望对您有所帮助:)     

要回复问题请先登录注册