列“last_login”中的空值违反非空约束

时间:2015-11-12 23:53:11

标签: sql django postgresql null

解决此错误的问题。

我正在尝试使用Digital Ocean来部署我的Django应用程序。我配置了Postgres,但是当我尝试在我的应用程序中注册新用户时,我遇到了这个问题。

我尝试过运行python manage.py makemigrationspython manage.py migrate,但效果很好。迁移完成SQL迁移。

3 个答案:

答案 0 :(得分:6)

尝试将此添加到您的导入中:

from django.utils import timezone

然后,只要您将user的数据抓取到saveuser程序之前的save新添加{

<user_object>.last_login = timezone.now() 

答案 1 :(得分:3)

当我遇到这个时,我正在从django 1.7升级到django 1.10。结果是我需要运行python manage.py migrate来更新数据库表和列。

答案 2 :(得分:0)

这是一种解决方法,而不是解决方案,但以下是如何创建用户并提供last_login的完整示例:

from django.contrib.auth.models import User
from django.utils import timezone

user = User.objects.create_user(
    'username',
    password='password',
    last_login=timezone.now(),
    # Whatever other attributes you want:
    is_superuser=True,
    is_staff=True
)
user.save()