2009/9/7 Asinox <
asi...@gmail.com>:
>
> Hola gente, tengo un escenario, y quisiera saber como puedo hacer con
> Django lo siguiente:
>
> Tengo un modelo mensajeros, y un modelo paquetes, el modelo paquetes
> tiene un FK hacia el modelo mensajero, pero mensajero no tiene FK
> hacia el modelo paquetes, entonces, lo que me gustaria es en listado
> de mensajeros, tener una opcion que me haga un link hacia paquetes,
> pero que solo me traiga todos los paquetes de el mensajero x.
pues con el id del mensajero x puedes obtener la lista de paquetes con
algo como:
mensajero.paquete_set.objects.all()
Esto te traerá todos los paquetes del mensajero.
>
> Se como hacer una funcion con un link y desplegarla en list_display,
> lo que no sé es como hacer la consulta e invocar el changelist_view
> (la vista que te desplega todos los registro de un modelo)
>
> Con relacion a la consulta en el admin, yo se como sobreescribir el
> queryset por defecto de un modelo, entonces, como puedo yo agarrar el
> ID que quiero pasar en el link , llamar la vista changelist_view (si
> es asi que se llama) y mostrar los registros relacionados del modelo
> paquetes.
si te entendí bien puedes hacer un metodo que te haga el link por cada
mensajero con una funcion como se indica en
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#ref-contrib-admin
especialmente fijate en la parte que dice:
class Person(models.Model):
first_name = models.CharField(max_length=50)
birthday = models.DateField()
def born_in_fifties(self):
return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'born_in_fifties')
aca es donde creo que puedes hacer una funcion como born_in_fifties
que te genere un conjunto de enlaces a los paquetes <a
href="link_a_paquete1">paquete1</a>...
para que el html se renderice en el admin no olvides usar
tufuncion.allow_tags = True
>
> Saludos y gracias
> >
>
--
Diego Andrés Sanabria
Ingeniería de Sistemas Universidad Distrital
about:me
http://www.google.com/profiles/diegueus9
cel
3015290609
Sent from Bogota, DC, Colombia