小编All*_*ark的帖子

Django 休息过滤器自定义字段

我正在将 UNIX 日期转换为字符串日期并将其作为自定义只读字段传递。使用 django-filter 过滤此自定义字段的最佳方法是什么?我得到的错误是Cannot resolve keyword 'convert_time' into the field。选择是:

模型类

class AccountT(models.Model):
    created_date_t = models.BigIntegerField(blank=True, null=True)
    def convert_time(self):
        result = time.strftime("%D", time.localtime(self.created_date_t))
        return result
Run Code Online (Sandbox Code Playgroud)

序列化器类

class AccountTSerializer(serializers.ModelSerializer):
    created_date = serializers.ReadOnlyField(source='convert_time')
    class Meta:
        model = AccountT
        fields = ('othermodelfield','othermodelfield', 'created_date',)
Run Code Online (Sandbox Code Playgroud)

列表API视图

class AccountTListView(generics.ListAPIView):
    serializer_class = AccountTSerializer
    queryset = AccountT.objects.all()
    filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter,)
    filter_fields = ('othermodelfield','created_date_t')
Run Code Online (Sandbox Code Playgroud)

django django-models django-filter django-rest-framework

3
推荐指数
1
解决办法
6149
查看次数