Проведя 6 месяцев, используя только django-rest-framework, на прошлой неделе мне нужно было использовать формы и шаблоны django для простого приложения (университет работает с XD).Таким образом, я подклассифицировал AbstractBaseUser в MyUserModel (почти точно так же, как официальная документация), чтобы определить USERNAME = email, и я создал отношение OneToOneField к MyUserModel.
Я не уверен, как обработать 2 формы, чтобы заставить его работать при созданииПользователь.(Я сделал то же самое с rest-framework несколько месяцев назад, просто не знаю, как с ним обращаться в формах и в представлении)
Создана модель MyUser, электронная почта - это поле USERNAME.Существует first_name, last_name.
Модель компании с некоторой дополнительной информацией и модель OneToOneField для MyUser.
Модель сотрудников с дополнительной информацией и OneToOneField для MyUser.
Отсюда ... Как перейти ксоздать пользователя Employees или пользователя компании, я имею в виду представление формы и шаблон регистрации. Если мне удастся создать один, другой будет легко.
class MyUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(verbose_name="E-mail", max_length=255, unique=True)
first_name = models.CharField(verbose_name="First Name", max_length=255)
last_name = models.CharField(verbose_name="Last Name", max_length=255)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
class Company(models.Model):
company = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
register_number = models.BigIntegerField(verbose_name="register")
aactivity = models.CharField(verbose_name="Company activity", max_length=255)
class Employees(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
salary = models.FloatField(verbose_name="Salary")
experience = models.TextField(verbose_name="experience", max_length=500)
Я нашел несколько вопросов, которые получаютблизко к этому, но не так много подробностей о том, как действовать.
Ссылка на вопрос I
Ссылка на вопрос II