Как я могу ограничить выбор в виджете ModelChoice этой модельной формы, используя атрибуты экземпляра модели, с которым она была создана?
Я не могу найти способ ограничить выбор виджета объектами в полях 'jugadorA' и 'jugadorB', которые являются моделями Jugador.
форма в forms.py:
class ganadorForm(ModelForm):
class Meta:
model = Juego
fields = ['ganador', 'jugadorA', 'jugadorB', 'torneo', 'ronda']
widgets = {
'ganador': ModelChoiceField(queryset=queryset=Jugador.objects.filter(Q(fields['jugadorA']) | Q(fields['jugadorB'])), to_field_name='nombre')
}
модель в models.py
class Juego(models.Model):
torneo = models.ForeignKey(Torneo, on_delete=models.CASCADE, null=False)
ronda = models.ForeignKey(Ronda, on_delete=models.CASCADE, null=False)
jugadorA = models.ForeignKey(Jugador, on_delete=models.SET_NULL, null=True, related_name='jugadorA')
jugadorB = models.ForeignKey(Jugador, on_delete=models.SET_NULL, null=True, related_name='jugadorB')
ganador = models.ForeignKey(Jugador, on_delete=models.SET_NULL, null=True, default=None, related_name='ganador')