gpt4 book ai didi

python - 如何使用 tastypie 在 json 中添加额外的消息?

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:10 24 4
gpt4 key购买 nike

这是我的应用程序/api.py

from app.models import Person
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
class PersonResource(ModelResource):
class Meta:
queryset = Person.objects.all()
resource_name='person
# filtering = { "email" : ALL,"dob":ALL,"mobile":ALL}
filtering = {
'email': ALL,
'mobile': ALL,
'dob': ALL,
}

成功返回 json at:/api/person/?format=json@email=abcd@example.com

但我想在 json 输出中再添加一个字符串作为“status”,当过滤成功时该字符串为 True,当数据库中没有与给定电子邮件对应的条目时为 False。我该怎么做?

最佳答案

最简单的方法是定义您自己的alter_list_data_to_serialize 方法。该方法在返回 get_list 请求的响应之前被调用,这是问题中的请求,并且应该返回将在响应中序列化的最终字典。

假设您没有重组对象列表元数据(tastypie 的分页器将对象列表包装在字典中,其中 objects 指向列表,total_count 保存对象总数等),您可以执行以下操作:

def alter_list_data_to_serialize(self, request, data):
data['status'] = data['total_count'] != 0
return data

否则,如果您使用自定义分页器并希望在所有资源中包含 status 键,您可以修改 Paginator.page() 方法以添加 status 键。

关于python - 如何使用 tastypie 在 json 中添加额外的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com