私の Web アプリケーションには要件があります。それは、従業員の ListView を作成し、姓によるページ付けを行うことです。
リストするクラスは次のようになります。
class Person(models.Model):
first_name = models.CharField(blank=True)
last_name = models.CharField(blank=True)
# etc.
Mixin を使用した ListView もあります。
class PersonMixin(object):
def get_queryset(self):
return Person.objects.order_by('last_name', 'first_name')
class PersonListView(PersonMixin, ListView):
paginate_by = settings.ARCHIVE_PAGE_SIZE
template_name = 'profile_list.html'
paginator_class = FamilyNamePaginator
最後に、Paginator クラスをオーバーライドしました。
class FamilyNamePaginator(Paginator):
def page(self, number):
page = super(FamilyNamePaginator, self).page(number)
return page
しかし、明らかに、現時点での動作は基本的すぎます。たとえば、「page 1 of 6」を「A ... MP Z」に置き換える必要があります。これらは姓のイニシャルです。Paginator クラスをカスタマイズする方法を指摘しているドキュメントは見つかりませんでした。ここでどこから掘り始めるべきか誰か指摘できますか?
前もって感謝します :-)