Coverage for apis_core / entities / templatetags / entities.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-27 05:15 +0000

1from django import template 

2from django.contrib.contenttypes.models import ContentType 

3 

4from apis_core.entities.abc import Entity 

5 

6register = template.Library() 

7 

8 

9def is_entity(content_type: ContentType): 

10 model_class = content_type.model_class() 

11 return model_class is not None and issubclass(model_class, Entity) 

12 

13 

14@register.simple_tag 

15def entities_content_types(): 

16 """ 

17 Retrieve all models which inherit from Entity class 

18 and return their ContentType. 

19 """ 

20 entities = list( 

21 filter( 

22 lambda content_type: is_entity(content_type), 

23 ContentType.objects.all(), 

24 ) 

25 ) 

26 return entities