| 1234567891011121314151617181920212223242526272829 |
- from django import forms
- from django.contrib.auth import get_user_model
- from .models import Reserva
- User = get_user_model()
- class ReservaForm(forms.ModelForm):
- acompanante = forms.ModelChoiceField(
- queryset=User.objects.none(),
- required=False,
- label="Acompañante"
- )
- class Meta:
- model = Reserva
- fields = ['acompanante']
- def __init__(self, *args, **kwargs):
- evento = kwargs.pop('evento', None)
- usuario = kwargs.pop('usuario', None)
- super().__init__(*args, **kwargs)
- # Solo permitir elegir acompañante si el evento es para parejas
- if evento and evento.para_parejas:
- # Todos los usuarios menos el propio
- self.fields['acompanante'].queryset = User.objects.exclude(id=usuario.id)
- else:
- # Si no es evento de parejas, ocultamos el campo
- self.fields.pop('acompanante')
|