相关疑难解决方法(0)

如何使用Django通用视图过滤表?

我正在尝试使用最常见/标准/推荐的Django 1.6方法创建具有分页,排序和过滤的表视图.这似乎是基于通用类的视图和django-tables2.我找到了至少两个不同的如何添加过滤的例子,一个用django-filters和crispy-forms,另一个用django_filters,但都没有包含完整的工作示例.当我遵循任何一种方法时,我都会陷入困境中.使用Nicolas Kuttler的脆弱方法,我有:

models.py

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

tables.py

import django_tables2 as dt2
from .models import Author

class AuthorTable(dt2.Table):
    class Meta:
        model = Author
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,PagedFilteredTableView是一个泛型类,然后我继承AuthorView,而不是另一个例子,其中FilteredSingleTableView,我认为应该被理解为类似,如果Author是表,AuthorFilteredSingleTableView.

views.py

from .tables import AuthorTable
from .models import Author
from django_tables2 import SingleTableView

class PagedFilteredTableView(SingleTableView):
    """
    Generic class from http://kuttler.eu/post/using-django-tables2-filters-crispy-forms-together/
    which should probably be in a utility file
    """
    filter_class = None
    formhelper_class = None
    context_filter_name = 'filter'

    def get_queryset(self, **kwargs):
        qs = super(PagedFilteredTableView, self).get_queryset()
        self.filter …
Run Code Online (Sandbox Code Playgroud)

django django-filter django-class-based-views django-tables2

5
推荐指数
1
解决办法
9244
查看次数