Я пытаюсь создать собственный класс Employee
, который использует аутентификацию по умолчанию. Я могу успешно зарегистрировать, но поля, связанные с классом пользователя Django, хранятся в User
, тогда как мои пользовательские поля хранятся в Employee
. Как я могу получить все, что хранится в Employee
?Данные хранятся в пользовательском классе вместо UserProfile
Это мой forms.py
:
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password')
class EmployeeForm(forms.ModelForm):
class Meta:
model = Employee
fields = ('sales', 'hours')
И мой models.py
:
class Patient(models.Model):
user = models.OneToOneField(User)
sales = models.CharField(max_length=30)
hours = models.CharField(max_length=30)
Как я уже сказал, я бы предпочел использовать проверку подлинности по умолчанию и, следовательно, избежать использования пользовательского бэкенд
Что-то вроде 'class Employee (AbstractBaseUser, PermissionsMixin): ... objects = UserManager()' может сделать трюк. https://docs.djangoproject.com/en/1.9/topics/auth/customizing/ – WayBehind