django - 从序列化程序中的对象获取更多信息,而不仅仅是 id
问题描述
我有一个运行良好的序列化程序和视图,现在唯一的问题是我希望能够获取它包含的全部数据以及 ID 号。我来给你展示:
这是我的看法:
@api_view(['GET'])
def TicketListView(request, *args, **kwargs):
queryset = Order.objects.filter(ordered=True)
username = request.GET.get('username')
if username != None:
queryset = queryset.by_username(username)
# serializer = PostSerializer(queryset, many=True)
serializer = TicketListSerializer(
queryset, many=True, context={'request': request})
return Response(serializer.data, status=200)
序列化器:
class TicketListSerializer(serializers.ModelSerializer):
class Meta:
model = Order
fields = '__all__'
这是输出:
[
{
"id": 2,
"ref_code": "42764745463765476",
"start_date": "2021-02-24T01:23:27.135638Z",
"ordered_date": "2021-02-24T01:23:13Z",
"ordered": true,
"being_delivered": false,
"received": false,
"refund_requested": false,
"refund_granted": false,
"transaction_id": "w4234",
"qr_code": "http://127.0.0.1:8000/media/qrcode/qr_code-42764745463765476_zaqc1a7.png",
"user": 1,
"shipping_address": null,
"billing_address": null,
"payment": 1,
"coupon": null,
"items": [
2,
1
]
}
]
现在,我希望它显示它包含的实际数据,而不是items
显示。[2,1]
1
"item": {
"id": 1,
"category": "Music",
"label": "PopSocial",
"likess": 0,
"title": "fe",
"caption": "asfwa",
"photo": "/media/posts/Premium_SUndays_XhustW8.jpg",
"date_of_event": "2021-02-24T01:15:10Z",
"location": "SRID=4326;POINT (5.712891 7.885147)",
"latitude": "7.885147",
"longitude": "5.712891",
"date_posted": "2021-02-24T01:15:11Z",
"likes": 0,
"price": "10000.00",
"discount_price": 343.0,
"digital": false,
"slug": "11",
"author": 1,
"bookmark": []
},
"final_price": 686.0,
解决方案
第一种方式:您可以在序列化程序中使用depth=1。这是来自官方 Django Rest Framework 的文档 https://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization。
第二种方式:您可以在您的 TicketListSerializer 中定义您的 ItemSerializer,然后从 ItemSerializer 中调用项目。
推荐阅读
- python - Python:在for循环中向迭代变量添加常量
- datetime - 我可以在我的批处理文件中添加一个查找来检查文件的创建日期\修改日期
- c# - 如何在 C# 中更新 XML 文档的特定子节点值
- android - Viewholder Onclick - 如何获取对其他视图的引用?
- javascript - Vuelidate 在页面渲染时验证
- testng - 如何为动态生成的 XmlSuite 中配置的测试生成 Allure 报告
- r - 尝试对数据框进行子集化
- ios - CocoaButton 加载使用约束 iOS
- c# - 如何在 app.confg 中的 connectionString 中使用变量?
- javascript - 如何从浏览器读取本地 JSON 文件?