Я хочу использовать поле email в качестве основного поля для пользователей, продавцов. Но для django-admin я хочу использовать обычное поле username. Нужен совет

models.py

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


 class CustomUser(AbstractUser):
     email = models.EmailField(('email address'), unique=True)    
     mobileno = models.IntegerField(blank=True, null=True)
     is_customer = models.BooleanField(default=False)
     is_vendor = models.BooleanField(default=False)

     USERNAME_FIELD = 'email'
     REQUIRED_FIELDS = []


 class VendorDetails(models.Model):
     vendoruser = models.OneToOneField(CustomUser, on_delete=models.CASCADE)
     aadhar_number = models.CharField(max_length=200)
     pan_number = models.CharField(max_length=200)
     store_name = models.CharField(max_length=200)
     brand_name = models.CharField(max_length=200)

admin.py

 from django.contrib import admin
 from customer.models import CustomUser, VendorDetails



 # Register your models here.
 admin.site.register(CustomUser)
 admin.site.register(VendorDetails)

при попытке ----- python manage.py createsuperuser----(File "D:\Yabesh\Django\env\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 189, in handle self.UserModel._default_manager.db_manager(database).create_superuser(**user_data) TypeError: create_superuser() missing 1 required positional argument: 'username')
. нужна помощь. могу ли я написать usermanager для этого? Заранее спасибо.

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