Я хочу использовать поле 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 для этого? Заранее спасибо.