Django устанавливает значение поля ForeignKey в ModelForm при отправке заявки

У меня есть RequisitionModel, который берет site из моей User модели в качестве ForeignKey. Как мне заставить RequisitionModelForm вытащить site текущего пользователя и передать его в форму?

* Я хочу, чтобы HTML-шаблон не отображал поле site, а устанавливал его в "фон" при отправке формы.

forms.py

class RequisitionModelForm(forms.ModelForm):
    class Meta:
        model = MaterialRequisition
        fields = (
            'reqDescription',
            'reqDateNeeded',
            'reqItems'
        )
        widgets = {
            'reqDateNeeded': forms.DateInput(attrs={'type': 'date'}),
        }
    def __init__(self, *args, **kwargs):
        super(RequisitionModelForm, self).__init__(*args, **kwargs)
            queryset=Item.objects.all(),
            widget=forms.CheckboxSelectMultiple,
            )

models.py

class MaterialRequisition(models.Model):
    req = models.AutoField(primary_key=True) #change to UUIDField if needed
    site = models.ForeignKey("project_site.Site", related_name='destinationSite', on_delete=models.CASCADE)
    reqDescription = models.CharField(max_length=1000, blank=True)
    reqDateSubmitted = models.DateTimeField(auto_now=True)
    reqDateNeeded = models.DateField(auto_now=False)
    reqItems = models.ManyToManyField(
        Item,
        through="MaterialRequisitionItems",
        through_fields=('req', 'item'),
        related_name="mat_req_items"
        )

views.py

class RequisitionAddView(LoginRequiredMixin, generic.CreateView):
    template_name = "requisition/requisition_add.html"
    form_class = RequisitionModelForm
    model = MaterialRequisition

    def get_success_url(self):
        return reverse("requisition:list-requisition")

    def get_queryset(self):
        user = self.request.user
        return MaterialRequisition.objects.all()
Вернуться на верх