Как добавить поля профиля в модель пользователя в области Admin в Django и сохранить данные соответствующим образом, используя сигналы

Я пытаюсь добавить fields из Profile Model в admin область, где мы создаем user удачно используя нижеприведенный код он показывает Profile model fields в этой области, но как только save он показывает NOT NULL constraint failed: main_profile.phone_number. почему phone_number поля значения не передаются в signals

main.signals.py

from .models import Profile
from django.dispatch import receiver
from django.db.models.signals import post_save
from django.conf import settings 


@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_profile_for_new_user(sender, **kwargs):
    if kwargs['created']:
        Profile.objects.create(user=kwargs['instance'])

main.models.py #код работает нормально, если я устанавливаю поля phone_number на null

class Profile(models.Model):

    birth_date = models.DateField(null=True)
    phone_number = models.IntegerField()
    address = models.CharField(max_length=255, null=True, blank=True)
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

core.models.py

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

class User(AbstractUser):
    email = models.EmailField(unique=True)

admin.py

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from .models import User
from main.models import Profile

class UserProfileInline(admin.TabularInline):
    model = Profile


@admin.register(User)
class UserAdmin(BaseUserAdmin):

    inlines = [UserProfileInline]
    add_fieldsets = (
        (
            None,
            {
                "classes": ("wide",),
                "fields": ('username', 'email', 'password1', 'password2', 'first_name', 'last_name'),
            },
        ),
    )

admin area where user create

Вернуться на верх