Не может создать суперпользователя, потому что один столбец (foreignkey) не может быть null в django

Я начал проект django с расширением модели User от AbstractUser до моей модели CustomUser, которая имеет отношение внешнего ключа с другой моделью. Когда я пытаюсь создать суперпользователя с помощью manage.py, он не создает суперпользователя. Выдается ошибка --> django.db.utils.IntegrityError: (1048, "Column 'cid_id' cannot be null").

Любая помощь будет оценена по достоинству

blog/models.py

from django.db import models
from django.utils import timezone
from django.contrib.auth import get_user_model
from ckeditor.fields import RichTextField 

# Create your models here.
class Category(models.Model):
    cid = models.AutoField(primary_key=True) 
    category_name = models.CharField(max_length=100)

    def __str__(self):
        return self.category_name


class Post(models.Model):
    aid = models.AutoField(primary_key=True)
    image = models.ImageField(default='blog-default.png', upload_to='images/')
    title = models.CharField(max_length=200)
    # content = models.TextField()
    content = RichTextField()
    created = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    cid = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name='specialization') 
    approved = models.BooleanField('Approved', default=False)
    like = models.ManyToManyField(get_user_model(), related_name='likes')

    def __str__(self):
        return self.title

users/model.py

from django.db import models
from blog.models import Category
from django.contrib.auth.models import AbstractUser 

# Create your models here.
class CustomUser(AbstractUser):
    cid = models.ForeignKey(Category, on_delete=models.CASCADE)
    profile_pic = models.ImageField(default='default_person.jpg', upload_to='profile_pics')

cid в модели Category является внешним ключом в модели Post и CustomUser. Но когда я пытаюсь создать суперпользователя, он показывает ошибку, о которой я говорил выше. cid не может быть null для пользователя, потому что когда пользователь регистрирует аккаунт, он должен выбрать категорию в форме регистрации. Но как суперпользователь не должен регистрировать учетную запись, используя форму регистрации. Так как же мне решить эту проблему?

Вы можете просто дать способность вашему cid быть null:

cid = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True, null=True)
Вернуться на верх