如何在 DRF 序列化器中使用 django.contrib.humanize 过滤器
How to use django.contrib.humanize filter in DRF serializers
是否可以在序列化程序上为 drf 使用 Django humanize
过滤器
我试过将 naturaltime
放入 to_representation 方法中,如下所示
def to_representation(self, instance):
representation = super(ListUsersSerializer,
self).to_representation(instance)
representation['last_login'] = instance.last_login(naturaltime)
但是没用
是的,您可以通过 naturaltime
过滤器传递数据,其中:
from django.contrib.humanize.templatetags.humanize import <strong>naturaltime</strong>
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['last_login'] = <strong>naturaltime(</strong>instance.last_login<strong>)</strong>
return representation
请注意,Django 的 naturaltime
在数字及其单位之间使用 non-breaking space [wiki],而不是正常的 space,因此:
>>> naturaltime(datetime(2019, 11, 25))
'2\xa0years, 2\xa0months ago'
是否可以在序列化程序上为 drf 使用 Django humanize
过滤器
我试过将 naturaltime
放入 to_representation 方法中,如下所示
def to_representation(self, instance):
representation = super(ListUsersSerializer,
self).to_representation(instance)
representation['last_login'] = instance.last_login(naturaltime)
但是没用
是的,您可以通过 naturaltime
过滤器传递数据,其中:
from django.contrib.humanize.templatetags.humanize import <strong>naturaltime</strong>
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['last_login'] = <strong>naturaltime(</strong>instance.last_login<strong>)</strong>
return representation
请注意,Django 的 naturaltime
在数字及其单位之间使用 non-breaking space [wiki],而不是正常的 space,因此:
>>> naturaltime(datetime(2019, 11, 25))
'2\xa0years, 2\xa0months ago'