Duplicar posibles:
get request data in Django formobtener usuario actual en el formulario de Django
Hay una parte de mi modelo de visitantes:
class Guest(models.Model):
event = models.ForeignKey(Event, related_name='guests')
user = models.ForeignKey(User, unique=True, related_name='guests')
...
formulario para obtener la respuesta de los invitados:
class RSVPForm(forms.Form):
attending_d= forms.ChoiceField(choices=VISIBLE_ATTENDING_CHOICES, initial='yes', widget=forms.RadioSelect)
attending_b = forms.ChoiceField(choices=VISIBLE_ATTENDING_CHOICES, initial='yes', widget=forms.RadioSelect)
number_of_guests = forms.IntegerField(initial=0)
comment = forms.CharField(max_length=255, required=False, widget=forms.Textarea)
....
def save(self):
guest = self.guest_class.objects.get(user=1)
guest.attending_status_d = self.cleaned_data['attending_d']
guest.attending_status_b = self.cleaned_data['attending_b']
guest.number_of_guests = self.cleaned_data['number_of_guests']
guest.comment = self.cleaned_data['comment']
guest.save()
return guest
El problema está en el método guardar. ¿Cómo puedo asociar invitado con el usuario actualmente conectado?
guest = self.Guest.objects.get(user=1)
En lugar de user=1
Necesito tener id del usuario actualmente conectado.
Gracias!
Tenga cuidado, que se rompió Liskov principio de sustitución: https://en.wikipedia.org/wiki/Liskov_substitution_principle. Mire esta respuesta para agregar el parámetro de usuario sin romper el principio de liskov: http://stackoverflow.com/a/7300076/801924 – bux