Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django with cassandra后端-更新\u last\u登录方法错误_Python_Django_Django Authentication - Fatal编程技术网

Python Django with cassandra后端-更新\u last\u登录方法错误

Python Django with cassandra后端-更新\u last\u登录方法错误,python,django,django-authentication,Python,Django,Django Authentication,我正在尝试使用卡桑德拉作为我的数据库。我将auth_user表移动到cassandra。我创建了一个自定义后端类,并将自己的实现写入以下方法: def authenticate(...) def get_group_permissions() def has_perm() django文档中定义的方法很少 现在我可以添加新的用户和身份验证,但django尝试更新last login datetime字段。现在它抛出错误,因为sql数据库中并没有记录 如果我在django/admin/auth/

我正在尝试使用卡桑德拉作为我的数据库。我将auth_user表移动到cassandra。我创建了一个自定义后端类,并将自己的实现写入以下方法:

def authenticate(...)
def get_group_permissions()
def has_perm()
django文档中定义的方法很少

现在我可以添加新的用户和身份验证,但django尝试更新last login datetime字段。现在它抛出错误,因为sql数据库中并没有记录

如果我在django/admin/auth/models.py文件(第31行)中注释掉以下行

一切正常

我需要知道一个简单的方法来覆盖这个更新\u last\u login->user.save方法。 我使用django 1.5.2版本 谢谢

更新: 我通过在自定义后端类中断开信号连接获得了解决方案,如下所示:

from django.contrib.auth.models import update_last_login
from django.contrib.auth.signals import user_logged_in
...
user_logged_in.disconnect(update_last_login)

更新后的解决方案非常有效。这修复了/accounts/login/处的以下ValueError:
以下字段在此模型中不存在或是m2m字段:last_login
不确定这是否与较新版本的django或什么相关,但在我的情况下,用户已登录。断开连接(更新上次登录)不起作用。这对我来说是有效的:用户\u登录\u。断开连接(更新\u上次登录,调度\u uid='update\u上次登录')
from django.contrib.auth.models import update_last_login
from django.contrib.auth.signals import user_logged_in
...
user_logged_in.disconnect(update_last_login)