Coverage for apis_core/apis_metainfo/tables.py: 0%
14 statements
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-20 09:24 +0000
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-20 09:24 +0000
1import django_tables2 as tables
2from django.db.models import F
4from apis_core.generic.tables import GenericTable
6from .models import Uri
9class UriTable(GenericTable):
10 entity = tables.TemplateColumn(
11 "<a href='{{ record.root_object.get_absolute_url }}'>{{ record.root_object }}</a>",
12 orderable=True,
13 verbose_name="related Entity",
14 )
15 ent_type = tables.TemplateColumn(
16 "{{ record.root_object.self_contenttype.model }}",
17 verbose_name="Entity Type",
18 )
20 class Meta(GenericTable.Meta):
21 model = Uri
22 fields = ["id", "uri", "entity", "ent_type"]
23 exclude = ("desc",)
25 def order_ent_type(self, queryset, is_descending):
26 queryset = queryset.annotate(
27 ent_type=F("root_object__self_contenttype__model")
28 ).order_by(("-" if is_descending else "") + "ent_type")
29 return (queryset, True)