How fix bug with superuser creation in django?
ok, I've created custom Auth model, by inhereting from AbstractBaseUser. When i create simple user, everything is Ok, but then i try to create superuser something goes wrong.
here is my User and UserManager:
class PatientUserManager(BaseUserManager):
def create_user(self, snils, name=None, surname=None, telephone=None, password=None, is_superuser=None):
'''Создание пользователя со снилсом, именем, фамилией и паролем'''
if not snils:
raise ValueError('Отсутствует Номер СНИЛС')
user = self.model(snils, name, surname, telephone)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, snils, name, surname, telephone, password):
user=self.create_user(snils, name, surname, telephone)
user.is_superuser = True
user.is_admin = True
user.is_staff = True
user.set_password(password)
user.save(using=self._db)
return user
class PatientUser(AbstractBaseUser, PermissionsMixin):
snils = models.CharField('СНИЛС', max_length= 14, unique=True)
email = models.EmailField('email', max_length= 255, blank=True)
name = models.CharField('Имя', max_length= 50, blank=True)
surname = models.CharField('Фамилия', max_length= 80, blank=True)
patronimic = models.CharField('Отчество', max_length= 80, blank=True)
date_joined = models.DateTimeField('Дата Регистрации', auto_now_add=True)
telephone = models.CharField('Номер телефона', max_length= 18, blank=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
USERNAME_FIELD = 'snils'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = ['name', 'surname', 'telephone']
objects = PatientUserManager()
def get_full_name(self):
'''
Возвращает first_name и last_name с пробелом между ними.
'''
full_name = '%s %s' % (self.name, self.surname)
return full_name.strip()
def get_short_name(self):
'''
Возвращает сокращенное имя пользователя.
'''
return self.name
when i try to
create superuser, i receive error:
ValueError: invalid literal for int() with base 10: '555-555-555 55'
but if enter integer number in 'СНИЛС' field instead of '555-555-555 55', he starts to complain about surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: Suddenok
Номер телефона: 8800
Password:
Password (again):
...
["'Suddenok' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."].
well, i showed perseverance and continued to solve problems as they come. changed Surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: 8800
Password:
Password (again):
...
django.core.exceptions.ValidationError: ["'8800' value must be either True or False."]
changed Telephone:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: True
Password:
Password (again):
...
Traceback (most recent call last):
File "/home/maumba/ProjectPython/VE/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "date_joined" violates not- null constraint
DETAIL: Failing row contains (47, !t0cnBjuTplCtE8vJRGsIgsLN5U0pTDXzg22rWFEF, 2018-08-14 12:47:00+00, t, , , , , , null, , t, f, f).
thanks for your attention
python-3.6 django-2.0
add a comment |
ok, I've created custom Auth model, by inhereting from AbstractBaseUser. When i create simple user, everything is Ok, but then i try to create superuser something goes wrong.
here is my User and UserManager:
class PatientUserManager(BaseUserManager):
def create_user(self, snils, name=None, surname=None, telephone=None, password=None, is_superuser=None):
'''Создание пользователя со снилсом, именем, фамилией и паролем'''
if not snils:
raise ValueError('Отсутствует Номер СНИЛС')
user = self.model(snils, name, surname, telephone)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, snils, name, surname, telephone, password):
user=self.create_user(snils, name, surname, telephone)
user.is_superuser = True
user.is_admin = True
user.is_staff = True
user.set_password(password)
user.save(using=self._db)
return user
class PatientUser(AbstractBaseUser, PermissionsMixin):
snils = models.CharField('СНИЛС', max_length= 14, unique=True)
email = models.EmailField('email', max_length= 255, blank=True)
name = models.CharField('Имя', max_length= 50, blank=True)
surname = models.CharField('Фамилия', max_length= 80, blank=True)
patronimic = models.CharField('Отчество', max_length= 80, blank=True)
date_joined = models.DateTimeField('Дата Регистрации', auto_now_add=True)
telephone = models.CharField('Номер телефона', max_length= 18, blank=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
USERNAME_FIELD = 'snils'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = ['name', 'surname', 'telephone']
objects = PatientUserManager()
def get_full_name(self):
'''
Возвращает first_name и last_name с пробелом между ними.
'''
full_name = '%s %s' % (self.name, self.surname)
return full_name.strip()
def get_short_name(self):
'''
Возвращает сокращенное имя пользователя.
'''
return self.name
when i try to
create superuser, i receive error:
ValueError: invalid literal for int() with base 10: '555-555-555 55'
but if enter integer number in 'СНИЛС' field instead of '555-555-555 55', he starts to complain about surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: Suddenok
Номер телефона: 8800
Password:
Password (again):
...
["'Suddenok' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."].
well, i showed perseverance and continued to solve problems as they come. changed Surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: 8800
Password:
Password (again):
...
django.core.exceptions.ValidationError: ["'8800' value must be either True or False."]
changed Telephone:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: True
Password:
Password (again):
...
Traceback (most recent call last):
File "/home/maumba/ProjectPython/VE/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "date_joined" violates not- null constraint
DETAIL: Failing row contains (47, !t0cnBjuTplCtE8vJRGsIgsLN5U0pTDXzg22rWFEF, 2018-08-14 12:47:00+00, t, , , , , , null, , t, f, f).
thanks for your attention
python-3.6 django-2.0
add a comment |
ok, I've created custom Auth model, by inhereting from AbstractBaseUser. When i create simple user, everything is Ok, but then i try to create superuser something goes wrong.
here is my User and UserManager:
class PatientUserManager(BaseUserManager):
def create_user(self, snils, name=None, surname=None, telephone=None, password=None, is_superuser=None):
'''Создание пользователя со снилсом, именем, фамилией и паролем'''
if not snils:
raise ValueError('Отсутствует Номер СНИЛС')
user = self.model(snils, name, surname, telephone)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, snils, name, surname, telephone, password):
user=self.create_user(snils, name, surname, telephone)
user.is_superuser = True
user.is_admin = True
user.is_staff = True
user.set_password(password)
user.save(using=self._db)
return user
class PatientUser(AbstractBaseUser, PermissionsMixin):
snils = models.CharField('СНИЛС', max_length= 14, unique=True)
email = models.EmailField('email', max_length= 255, blank=True)
name = models.CharField('Имя', max_length= 50, blank=True)
surname = models.CharField('Фамилия', max_length= 80, blank=True)
patronimic = models.CharField('Отчество', max_length= 80, blank=True)
date_joined = models.DateTimeField('Дата Регистрации', auto_now_add=True)
telephone = models.CharField('Номер телефона', max_length= 18, blank=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
USERNAME_FIELD = 'snils'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = ['name', 'surname', 'telephone']
objects = PatientUserManager()
def get_full_name(self):
'''
Возвращает first_name и last_name с пробелом между ними.
'''
full_name = '%s %s' % (self.name, self.surname)
return full_name.strip()
def get_short_name(self):
'''
Возвращает сокращенное имя пользователя.
'''
return self.name
when i try to
create superuser, i receive error:
ValueError: invalid literal for int() with base 10: '555-555-555 55'
but if enter integer number in 'СНИЛС' field instead of '555-555-555 55', he starts to complain about surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: Suddenok
Номер телефона: 8800
Password:
Password (again):
...
["'Suddenok' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."].
well, i showed perseverance and continued to solve problems as they come. changed Surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: 8800
Password:
Password (again):
...
django.core.exceptions.ValidationError: ["'8800' value must be either True or False."]
changed Telephone:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: True
Password:
Password (again):
...
Traceback (most recent call last):
File "/home/maumba/ProjectPython/VE/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "date_joined" violates not- null constraint
DETAIL: Failing row contains (47, !t0cnBjuTplCtE8vJRGsIgsLN5U0pTDXzg22rWFEF, 2018-08-14 12:47:00+00, t, , , , , , null, , t, f, f).
thanks for your attention
python-3.6 django-2.0
ok, I've created custom Auth model, by inhereting from AbstractBaseUser. When i create simple user, everything is Ok, but then i try to create superuser something goes wrong.
here is my User and UserManager:
class PatientUserManager(BaseUserManager):
def create_user(self, snils, name=None, surname=None, telephone=None, password=None, is_superuser=None):
'''Создание пользователя со снилсом, именем, фамилией и паролем'''
if not snils:
raise ValueError('Отсутствует Номер СНИЛС')
user = self.model(snils, name, surname, telephone)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, snils, name, surname, telephone, password):
user=self.create_user(snils, name, surname, telephone)
user.is_superuser = True
user.is_admin = True
user.is_staff = True
user.set_password(password)
user.save(using=self._db)
return user
class PatientUser(AbstractBaseUser, PermissionsMixin):
snils = models.CharField('СНИЛС', max_length= 14, unique=True)
email = models.EmailField('email', max_length= 255, blank=True)
name = models.CharField('Имя', max_length= 50, blank=True)
surname = models.CharField('Фамилия', max_length= 80, blank=True)
patronimic = models.CharField('Отчество', max_length= 80, blank=True)
date_joined = models.DateTimeField('Дата Регистрации', auto_now_add=True)
telephone = models.CharField('Номер телефона', max_length= 18, blank=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
USERNAME_FIELD = 'snils'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = ['name', 'surname', 'telephone']
objects = PatientUserManager()
def get_full_name(self):
'''
Возвращает first_name и last_name с пробелом между ними.
'''
full_name = '%s %s' % (self.name, self.surname)
return full_name.strip()
def get_short_name(self):
'''
Возвращает сокращенное имя пользователя.
'''
return self.name
when i try to
create superuser, i receive error:
ValueError: invalid literal for int() with base 10: '555-555-555 55'
but if enter integer number in 'СНИЛС' field instead of '555-555-555 55', he starts to complain about surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: Suddenok
Номер телефона: 8800
Password:
Password (again):
...
["'Suddenok' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."].
well, i showed perseverance and continued to solve problems as they come. changed Surname:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: 8800
Password:
Password (again):
...
django.core.exceptions.ValidationError: ["'8800' value must be either True or False."]
changed Telephone:
СНИЛС: 47
Имя: Vladimir
Фамилия: 2018-08-14 12:47
Номер телефона: True
Password:
Password (again):
...
Traceback (most recent call last):
File "/home/maumba/ProjectPython/VE/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "date_joined" violates not- null constraint
DETAIL: Failing row contains (47, !t0cnBjuTplCtE8vJRGsIgsLN5U0pTDXzg22rWFEF, 2018-08-14 12:47:00+00, t, , , , , , null, , t, f, f).
thanks for your attention
python-3.6 django-2.0
python-3.6 django-2.0
asked Nov 21 '18 at 7:24


Michael MatsaevMichael Matsaev
62
62
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53407081%2fhow-fix-bug-with-superuser-creation-in-django%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53407081%2fhow-fix-bug-with-superuser-creation-in-django%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown