Я все еще относительно новичок в Django и все еще немного борюсь с фильтрацией ForeignKey, и я был бы признателен за любую помощь в решении моей проблемы. У меня есть 2 модели ниже, и в моей PositionUpdateForm мне нужно, чтобы в поле «кандидат» были только кандидаты на эту должность.
class Position(models.Model):
title = models.CharField(max_length=128)
candidate = models.ForeignKey('careers.Applicant',
on_delete=models.SET_NULL,
related_name='candidates',
blank=True,
null=True
)
class Applicant(models.Model):
first_name = models.CharField(max_length=128)
blank=False,
)
position = models.ManyToManyField(Position,
related_name='applicants',
blank=True
)
В своей форме я пробовал каждое из следующих действий:
class PositionUpdateForm(forms.ModelForm):
candidate = forms.ModelChoiceField(queryset=Applicant.objects.filter(???))
def __init__(self, *args, **kwargs):
super(PositionUpdateForm, self).__init__(*args, **kwargs)
self.fields['candidate'].queryset = Applicant.objects.filter(???)
Спасибо за любую помощь.