在JSON的GET请求中包含Django中模型的外键列表,可以通过以下步骤实现:
Parent
和Child
,其中Child
模型有一个外键指向Parent
模型。from django.db import models
class Parent(models.Model):
name = models.CharField(max_length=100)
class Child(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
from django.http import JsonResponse
from .models import Parent
def get_parent_with_children(request, parent_id):
try:
parent = Parent.objects.get(id=parent_id)
children = parent.child_set.all() # 获取与该父对象相关的所有子对象
children_list = [child.name for child in children] # 获取子对象的名称列表
data = {
'parent_name': parent.name,
'children': children_list
}
return JsonResponse(data)
except Parent.DoesNotExist:
return JsonResponse({'error': 'Parent not found'})
from django.urls import path
from .views import get_parent_with_children
urlpatterns = [
path('parent/<int:parent_id>/', get_parent_with_children, name='get_parent_with_children'),
]
/parent/<parent_id>/
路径时,你将获得一个JSON响应,其中包含了指定父对象的名称以及与之相关的子对象列表。例如,发送GET请求到/parent/1/
将返回以下JSON响应:
{
"parent_name": "Parent 1",
"children": ["Child 1", "Child 2", "Child 3"]
}
这样,你就成功地在JSON的GET请求中包含了Django模型的外键列表。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你参考腾讯云的官方文档和开发者社区,以获取与云计算相关的更多信息和产品推荐。
领取专属 10元无门槛券
手把手带您无忧上云