在 django-tables2 table 中呈现一个 django-simple-history 查询
Render a django-simple-history query in a django-tables2 table
我尝试在 django-tables2
table 中呈现 django-simple-history
查询集。目前我将原始查询集传递给上下文中的模板。此外,我想将 Queryset 传递给 Table
对象以使用 table 的功能,如 linkyfy 列或排除列。为此,我必须在 tables 元中指定一个模型。这里的问题是,历史模型是自动生成的。
实际代码:
#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
阅读文档有时会有帮助。
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
# ...
我尝试在 django-tables2
table 中呈现 django-simple-history
查询集。目前我将原始查询集传递给上下文中的模板。此外,我想将 Queryset 传递给 Table
对象以使用 table 的功能,如 linkyfy 列或排除列。为此,我必须在 tables 元中指定一个模型。这里的问题是,历史模型是自动生成的。
实际代码:
#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
阅读文档有时会有帮助。
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
# ...