How fix bug with superuser creation in django?












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










share|improve this question



























    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










    share|improve this question

























      0












      0








      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










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 7:24









      Michael MatsaevMichael Matsaev

      62




      62
























          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
          });


          }
          });














          draft saved

          draft discarded


















          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
















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith