django-sqlpaginator es una aplicación Django que hace la paginación y ordenación mediante SQL crudo en un modelo.
Instalación
Para instalar desde PyPI
PIP instalar django-sqlpaginator
Para obtener la última (y posiblemente no estable versión) de git
PIP instalar git + git: //github.com/bulkan/django-sqlpaginator.git
También necesita instalar sqlparser
PIP instalar git + git: //github.com/andialbrecht/sqlparse.git
En settings.py
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; "sqlpaginator ',
& Nbsp; ...
& Nbsp;)
Eso es todo !!
Uso
Más o menos igual que django.core.pagination.Paginator
Si usted tiene los siguientes modelos
& Nbsp; clase Album (models.Model):
& Nbsp; albumid = models.IntegerField (primary_key = True, db_column = u'AlbumId ')
& Nbsp; title = models.TextField (db_column = u'Title ')
& Nbsp; ArtistaID = models.IntegerField (db_column = u'ArtistId ')
& Nbsp; clase Artista (models.Model):
& Nbsp; ArtistaID = models.IntegerField (primary_key = True, db_column = u'ArtistId ')
& Nbsp; name = models.TextField (db_column = u'Name ', en blanco = True)
y quiere paginar en los álbumes, entonces dentro de una vista;
& Nbsp; de SqlPaginator sqlpaginator.paginator importación
& Nbsp; a partir de modelos importar álbum
& Nbsp; get_albums def (solicitud, page = 1):
& Nbsp; sql = "select * from% s"% Album._meta.db_table
& Nbsp; paginador = SqlPaginator (sql, álbum, page = página, order_by = 'title')
& Nbsp; probar:
& Nbsp; álbumes = paginator.page (página)
& Nbsp; excepto PageNotAnInteger:
& Nbsp; # Si la página no es un entero, entregar la primera página.
& Nbsp; álbumes = paginator.page (1)
& Nbsp; excepto emptypage:
& Nbsp; # Si la página está fuera de rango (por ejemplo, 9999), entregar última página de resultados.
& Nbsp; álbumes = paginator.page (paginator.num_pages)
& Nbsp; retorno render_to_response ('albums_list.html', {'discos': Álbumes})
En el albums_list.html plantilla
& Nbsp; {% para el álbum en álbumes%}
& Nbsp; {# Cada "disco" es un objeto de modelo del álbum. #}
& Nbsp; {{album.title | superior}}
& Nbsp; {% endfor%}
& Nbsp;
& Nbsp;
& Nbsp; {% if%} albums.has_previous
& Nbsp; <"? Page = {{albums.previous_page_number}}" a href => anterior
& Nbsp; {% endif%}
& Nbsp;
& Nbsp; Página {{albums.number}} de {{}} albums.paginator.num_pages.
& Nbsp;
& Nbsp; {% if%} albums.has_next
& Nbsp; <"? Page = {{albums.next_page_number}}" a href => siguiente
& Nbsp; {% endif%}
& Nbsp;
& Nbsp;
Requisitos :
- Python
- Django
Comentarios que no se encuentran