- commit
- cf0d359191bc32a586cbe32a0cf79e30567f9d97
- parent
- 03515a015e1ef6cce1c4547760d2358a9e09c6a8
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2019-09-15 08:46
extend display filter
Diffstat
| M | utils/templatetags/modeltags.py | 14 | ++++++++++---- |
1 files changed, 10 insertions, 4 deletions
diff --git a/utils/templatetags/modeltags.py b/utils/templatetags/modeltags.py
@@ -1,5 +1,6 @@ 1 1 from django import template 2 2 from django.db import models -1 3 from django.utils.translation import gettext_lazy as _ 3 4 4 5 register = template.Library() 5 6 @@ -17,10 +18,15 @@ def verbose_name(instance, field_name): 17 18 @register.filter(name='display') 18 19 def display(instance, field_name): 19 20 getter = getattr(instance, 'get_{}_display'.format(field_name), None)20 -1 if getter:21 -1 return getter()22 -1 else:23 -1 return getattr(instance, field_name)-1 21 value = getter() if getter else getattr(instance, field_name) -1 22 if value is True: -1 23 return _('Yes') -1 24 elif value is False: -1 25 return _('No') -1 26 elif value is None or value == '': -1 27 return '—' -1 28 elif hasattr(value, 'all'): -1 29 return ', '.join(str(x) for x in value.all()) 24 30 25 31 26 32 @register.filter(name='fields')