Как получить пользователя в формах 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 роль в этой форме. Как инициализировать роль пользователя в другой модели?

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