Django 오류:djangodb.utils.IntegrityError: (1048, "Column 'level' cannot be null")

1295 단어 Django
Django를 사용하여 superuser를 등록하는 동안 다음과 같은 문제가 발생했습니다.
django.db.utils.IntegrityError: (1048, "Column 'level' cannot be null")

위로 조회하면 볼 수 있다
MySQLdb._exceptions.OperationalError: (1048, "Column 'level' cannot be null")

슈퍼유저를 등록하는 과정에서 슈퍼유저 정보를 MySQL에 업데이트할 때user표의 level이 비어 있을 수 없음을 설명합니다.
이 때 데이터베이스 Crtl+D를 통해 level란의'아니야null'에 있는√를 직접 제거할 수 있다. 그러나 이런 방법은 나중에 Django에 있는 모델의 사용자 정보를 수정할 때python 관리자를 다시 실행하는 것이 문제다.pymigrate 후 데이터 테이블의 level 뒤에 있는 √을 다시 칠 수 있습니다.
따라서 모델의 사용자 정보를 직접 수정하고null=True를 추가한 후python 관리자를 다시 실행하는 것을 권장합니다.py migrate 작업을 수행한 다음 superuser를 설정합니다.
class User(AbstractUser):
    """          """
    # username = models.CharField('   ', max_length=64)
    # password = models.CharField('  ', max_length=255)
    avatar = models.ImageField('    ', upload_to='avatar', null=True, blank=True)
    nickname = models.CharField('  ', max_length=32)
    level = models.SmallIntegerField('    ', null=True)

다시 집행한다
>>> python manage.py makemigrations
>>> python manage.py migrate

>>> python manage.py createsuperuser

좋은 웹페이지 즐겨찾기