Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2012, 18:44
ioscar
 
Fecha de Ingreso: diciembre-2011
Ubicación: Cancun
Mensajes: 47
Antigüedad: 12 años, 4 meses
Puntos: 1
Exclamación Obtener id usuario logueado

Para obtener el id de un usuario me he basado de este post Y este es mi views.py :

Código:
def subirvideo(request):
	if request.method == 'POST':
		
		formsub = VideoForm(request.POST)
		if formsub.is_valid():
			try:
				_userid = request.user.id
				id_usuario = User.objects.get(id=_userid)
			except:
				id_usuario = User.objects.get(id=-1)
			guardar=formsub.save(commit=False)
			guardar.usuario=id_usuario
			guardar.save()
			return HttpResponseRedirect('/')

	else:
		formsub = VideoForm()

	return render_to_response('subirvideo.html',{'formsub':formsub},context_instance=RequestContext(request))
En esta parte id_usuario = User.objects.get(id=-1) puse el -1 para usuarios que no estan logueados .

En mi forms.py :
Código:
class VideoForm(forms.ModelForm):

	class Meta:
		
		model = Video
		fields = ( 'titulo','actriz','descripcion','imagen','enlace_ver', 'pantalla' ,'categorias','nacionalidad','comentarios_user')
		widgets = {
            #'descripcion': forms.Textarea(attrs={'cols': 80, 'rows': 14,}),
            'categorias': forms.CheckboxSelectMultiple(),
            'nacionalidad':forms.RadioSelect(),
            }
	
		   
	def __init__(self ,*args, **kwargs):
		super(VideoForm, self).__init__(*args, **kwargs)
		titulo_field = self.fields['titulo']
		actriz_field=self.fields['actriz']
		self.fields['titulo'] = forms.RegexField(EXPRE, label=titulo_field.label, max_length=titulo_field.max_length)
		self.fields['actriz']=forms.RegexField(EXPRE,label=actriz_field.label,max_length=actriz_field.max_length)

El problema esta que no me esta guardando los valores de categorias que es un campo manytomany , y creo que el problema esta cuando hago esto:
Código:
guardar=formsub.save(commit=False)
			guardar.usuario=id_usuario
			guardar.save()
porque al incluir el campo usuario en el forms.py , solo dejo formsub.save(), y si me guarda los valores ,

De que otra manera puedo obtener el id del usuario y no me pase esto , ya he intentado las formas que plantean en el post que mencione arriba , pero no puede hacerlo , ya no se mas hacer para resolver esto espero me puedan ayudar