Estoy realizando el proyecto final de carrera en Python y Django y me ha surgido un problema para mostrar la información que contiene el campo ManyToMany.
El problema es el siguiente, quiero mostrar el nombre de una carpeta que ha compartido un usuario con otro, Django me muestra todas las carpetas compartidas que tiene un usuario con otro pero no me muestra el nombre de la carpeta.
Aquí os dejo el código para que comprobéis haber que es lo que hago mal, porque he mirado en la doc de Django y no he podido encontrar la solución.
models.py
Código Python:
Ver original
class Carpetas(models.Model): idCarpeta = models.AutoField(primary_key=True) Nombre = models.CharField(max_length=45) Usuario= models.ForeignKey(User) Padre = models.IntegerField(null=True) def __unicode__(self): return self.Nombre class Comparten(models.Model): idUsuari1 = models.IntegerField() idUsuari2 = models.ManyToManyField(User,related_name='receptor') idCarpeta = models.ManyToManyField(Carpetes,related_name='carpeta') lectura = models.BooleanField() escriptura = models.BooleanField()
views.py
Código Python:
Ver original
def usuari(request): compartit=None usuario = User.objects.get(username=request.user.username) carpeta_usu= Carpetes.objects.get(Usuari=usuario.id, Nombre = usuario.username) carpetas = Carpetas.objects.filter(Usuari=usuari.id, Padre = carpeta_usu.idCarpeta) #Obtenemos las carpetas compartidas compartidas = Comparten.objects.filter(idUsuari2 = usuari.id) archivos = Archivos.objects.filter(Carpeta = carpeta_usu.idCarpeta) return render_to_response('usuario.html', {'carpetas' : carpetas, 'id_carpeta': carpeta_usu.idCarpeta, 'archivos' : archivos, 'compartidas' : compartidas}, context_instance=RequestContext(request))
usuario.html
Os muestro la parte donde se tiene que mostrar el nombre de la carpeta
Código Python:
Ver original
{% for compartida in compartidas %} <tr> <td> <img src="{{ STATIC_URL }}img/folder_page.png"><a href='/carpeta/{{compartida.idCarpeta}}'>{{ compartida.idCarpeta.carpetas.nombre }}</a> </td> <td align="center"> {% if compartida.lectura %} <img src="{{ STATIC_URL }}img/book_open.png"> {% endif %} {% if compartida.escriptura %} <img src="{{ STATIC_URL }}img/edit.png"> {% endif%} </td> </tr> {% endfor %}