django 注册(1048,"Column 'last_login' cannot be null")
django-registration (1048, "Column 'last_login' cannot be null")
我正在尝试在我的简单项目中使用 django-registration。
settings.py
# DJANGO REGISTRATION
ACCOUNT_ACTIVATION_DAYS = 7
AUTH_USER_EMAIL_UNIQUE = True
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'example@gmail.com'
urls.py
url(r'^accounts/', include('registration.backends.hmac.urls')),
注册模板:
{% extends "index.html" %}
{% block content %}
<h1>Registration</h1>
<form method="post" action="">
{% csrf_token %}
<dl class="register">
{% for field in form %}
<dt>{{ field.label_tag }}</dt>
<dd class="clearfix">{{ field }}
{% if field.help_text %}<div class="clearfix">{{ field.help_text }}</div>{% endif %}
{% if field.errors %}<div class="myerrors clearfix">{{ field.errors }}</div>{% endif %}
</dd>
{% endfor %}
</dl>
<input type="submit" value="Sign Up" class="clearfix">
</form>
{% endblock %}
当我要注册新用户时,出现错误:
Django Version: 1.9c1
Exception Type: IntegrityError
Exception Value: (1048, "Column 'last_login' cannot be null")
我不使用 'CustomUser' 模型。
确保您有 运行 授权应用的所有迁移。有一个迁移 0005_alter_user_last_login_null.py
使 last_login
字段可选。
转到您的数据库(MySQL 终端):
$ mysql
mysql> SELECT * FROM django_migrations;
如果你看到一些记录,那很好。删除它们。
mysql> TRUNCATE TABLE django_migrations;
离开 MySQL 终端,运行 在 django 中再次迁移:
$ python manage.py migrate --fake-initial
确保显示此消息:
0005_alter_user_last_login_null - [OK]
然后您可能会看到一些其他冲突,这很好,因为我们只需要进行此迁移。
重新启动您的 MySQL 和服务器,一切顺利。
我正在尝试在我的简单项目中使用 django-registration。
settings.py
# DJANGO REGISTRATION
ACCOUNT_ACTIVATION_DAYS = 7
AUTH_USER_EMAIL_UNIQUE = True
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'example@gmail.com'
urls.py
url(r'^accounts/', include('registration.backends.hmac.urls')),
注册模板:
{% extends "index.html" %}
{% block content %}
<h1>Registration</h1>
<form method="post" action="">
{% csrf_token %}
<dl class="register">
{% for field in form %}
<dt>{{ field.label_tag }}</dt>
<dd class="clearfix">{{ field }}
{% if field.help_text %}<div class="clearfix">{{ field.help_text }}</div>{% endif %}
{% if field.errors %}<div class="myerrors clearfix">{{ field.errors }}</div>{% endif %}
</dd>
{% endfor %}
</dl>
<input type="submit" value="Sign Up" class="clearfix">
</form>
{% endblock %}
当我要注册新用户时,出现错误:
Django Version: 1.9c1
Exception Type: IntegrityError
Exception Value: (1048, "Column 'last_login' cannot be null")
我不使用 'CustomUser' 模型。
确保您有 运行 授权应用的所有迁移。有一个迁移 0005_alter_user_last_login_null.py
使 last_login
字段可选。
转到您的数据库(MySQL 终端):
$ mysql
mysql> SELECT * FROM django_migrations;
如果你看到一些记录,那很好。删除它们。
mysql> TRUNCATE TABLE django_migrations;
离开 MySQL 终端,运行 在 django 中再次迁移:
$ python manage.py migrate --fake-initial
确保显示此消息:
0005_alter_user_last_login_null - [OK]
然后您可能会看到一些其他冲突,这很好,因为我们只需要进行此迁移。
重新启动您的 MySQL 和服务器,一切顺利。