Как получить пользователя в формах Django?
Здравствуйте, у меня есть 2 разные модели:
models.py
class User(AbstractUser):
class Roles(models.IntegerChoices):
OWNER = 1, 'OWNER'
BUYER = 2, 'BUYER'
role = models.PositiveSmallIntegerField('ROLE', choices=Roles.choices, null=True, blank=True, default=None)
другая модель:
class Book(core.BaseModel):
book_number = models.PositiveIntegerField('Book number', validators=[
MinValueValidator(1),
MaxValueValidator(MAX_TAG_NUMBER),
])
В модели Book
у меня есть Book
форма в forms.py
:
class BookForm(AllBookForm):
def __init__(self, user=None, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user = user
def clean(self):
cleaned_data = super().clean()
book_number = cleaned_data['book_number']
user = cleaned_data['user']
if self.user == User.Roles.OWNER:
if book_number != None:
raise forms.ValidationError(some error......)
elif self.user == User.Roles.BUYER:
if number == None:
raise forms.ValidationError(some error.....)
return cleaned_data
Я хочу инициализировать User
роль в этой форме. Как инициализировать роль пользователя в другой модели?