viernes, 10 de octubre de 2014

Django , Manejo de ManyToManyField

MODELS


class Tema(models.Model):
    titulo = models.CharField(_('Titulo'),max_length=60)
    creado = models.DateTimeField(auto_now_add=True)
    usuario = models.ForeignKey(User, blank=True, null=True)
    caso = models.ForeignKey(Caso)
    contenido = models.TextField(_('Contenido'),null=True, blank=True)
    modificado = models.DateTimeField(auto_now=True , blank=True,null=True)
    creado = models.DateTimeField(auto_now_add=True, blank=True,null=True )
    
    def __unicode__(self):
        return self.titulo

    def caso_tema(self):
        return unicode(self.caso) + " - " + self.titulo

class Permiso(models.Model):
    usuario = models.ForeignKey(User, blank=True, null=True)
    tema = models.ManyToManyField(Tema,_('Alumno'))
    caso = models.ForeignKey(Caso, blank=True, null=True)
    modificado = models.DateTimeField(auto_now=True , blank=True,null=True)
    creado = models.DateTimeField(auto_now_add=True, blank=True,null=True )

    def __unicode__(self):
        return "%s %s: %s " % ( self.usuario.first_name , self.usuario.last_name ,self.caso.titulo  )


VIEWS


def permiso_lista(request,permiso_id):
    permiso = Permiso.objects.get(pk=permiso_id)
    formulario = formulario_permiso(request.POST or None ,instance=permiso)
    formulario.fields["tema"].queryset = Tema.objects.filter(caso=permiso.caso)
    if request.method == 'POST' and formulario.is_valid():
        p1 = formulario.save()
        # p1.usuario = usuario
        p1.save()
        messages.add_message(request, messages.SUCCESS, _('Temas exito') ,extra_tags='success')
    # usuario=request.user  
    # lista_alumno = Permiso.objects.filter(caso=id_caso)
    return render_to_response('docente/permiso_lista.html', locals(), context_instance=RequestContext(request))





No hay comentarios:

Publicar un comentario