0

我尝试django-simple-historydjango-tables2表中呈现查询集。目前我将原始查询集传递给上下文中的模板。此外,我想将 Queryset 传递给Table对象以使用表的功能,例如 linkyfy 列或排除列。为此,我必须在表元中指定一个模型。这里的问题是,历史模型是自动生成的。

实际代码:

#views.py
from .tables import HistoryTable

class HistoryView(LoginRequiredMixin, SingleTableView):
    template_name = "funkwerkstatt/history.html"

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context["table"] = Device.history.filter(id=self.kwargs["pk"])
        ## futur code
        #context["table"] = HistoryTable(Device.history.filter(id=self.kwargs["pk"]))
        return context

#tables.py
import django_tables2 as tables

class HistoryTable(tables.Table):
    device = tables.Column(accessor="device", linkify=True)
    class Meta:
        model = # HistoryModel?!
        empty_text = "No entry"
        exclude = ["id",]

有没有办法引用自动生成的HistoryModel

4

1 回答 1

1

阅读文档有时会有所帮助。

https://django-simple-history.readthedocs.io/en/latest/common_issues.html#pointing-to-the-model

class PollHistoryListView(ListView): # or PollHistorySerializer(ModelSerializer):
    class Meta:
        model = Poll.history.model
       # ...
于 2020-07-04T10:15:23.430 回答