Stan Zeez Stan Zeez - 3 months ago 22
Python Question

django-registration (1048, "Column 'last_login' cannot be null")

I'm trying to use django-registration in my simple project.

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')),


Registration template:



{% 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 %}


When I going to register new user, I get an error:

Django Version: 1.9c1
Exception Type: IntegrityError
Exception Value: (1048, "Column 'last_login' cannot be null")


I don't use 'CustomUser' model.

Answer

Make sure you have run all the migrations for the auth app. There is a migration 0005_alter_user_last_login_null.py that makes the last_login field optional.