Django与cassandra后端 - update_last_login方法错误

时间:2013-12-07 07:29:10

标签: python django django-authentication

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

def authenticate(...)
def get_group_permissions()
def has_perm()

以及django docs中定义的更多方法。

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

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

user.save(update_fields=['last_login'])

一切正常。

我需要知道一种简单的方法来覆盖此update_last_login - > user.save方法。 我用django 1.5.2版本 感谢

更新 我通过在自定义BACKEND类中断开信号来获得解决方案:

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)

0 个答案:

没有答案