Django: zastosuj ograniczenie „tego samego rodzica” do mapowania ManyToManyField na siebie

Mam model, w którym zadania są częściami pracy, z których każda może zależeć od pewnej liczby innych zadań do wykonania, zanim będzie mogła się rozpocząć. Zadania są pogrupowane w zadania i chcę zabronić zależności między zadaniami. To jest odpowiedni podzbiór mojego modelu:

class Job(models.Model):
    name = models.CharField(max_length=60, unique=True)

class Task(models.Model):
    job = models.ForeignKey(Job)
    prerequisites = models.ManyToManyField(
        'self',
        symmetrical=False,
        related_name="dependents",
        blank=True)

Czy jest jakiś sposób, w jaki mogę wyrazić ograniczenie, że wszystkie zadania wstępne muszą mieć tę samą pracę? jamógłby wymuszaj to na poziomie widoku, ale naprawdę chciałbym, aby działał na poziomie modelu, aby interfejs administratora wyświetlał odpowiednie opcje przy wyborze wymagań wstępnych dla zadania. Pomyślałem, że mogę użyć „limit_choices_to”, ale przy bliższej analizie wydaje się, że wymaga ono statycznego zapytania, a nie czegoś zależnego od wartości w tym obiekcie zadania.

questionAnswers(1)

yourAnswerToTheQuestion