2012-01-24 23 views
27

¿Existe una opción en la vista de administración de django para ordenar campos de claves externas? es decir, tengo una clave externa para un modelo "Escuela", que se muestra como un menú desplegable, ordenada en pk-- Me gustaría que se ordenara alfabéticamente.django admin ordenar lista de campos de claves foráneas

+0

supongo que estás buscando esto: [http://stackoverflow.com/questions/923799/reorder-users-in-django-auth][1] [1]: http: // stackoverflow.com/questions/923799/reorder-users-in-django-auth – n0nSmoker

Respuesta

58

Claro - se puede ...

método específico ModelAdmin: (los otros métodos son en mi respuesta en el post linke d hasta arriba)

class MyModelAdmin(admin.ModelAdmin): 
    def formfield_for_foreignkey(self, db_field, request, **kwargs): 
     if db_field.name == "school": 
      kwargs["queryset"] = School.objects.order_by('name') 
     return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) 

Ejemplos de los otros 3 métodos no administrativos específicos en mi publicación vinculada anteriormente.

Cuestiones relacionadas