【发布时间】:2022-06-14 00:21:43
【问题描述】:
我需要将父列表下的子列表作为一个组。
class ServiceTypeViewSet(ModelViewSet):
serializer_class = ServiceTypeSerializer
http_method_names = ["get"]
queryset = ServiceType.objects.all()
def get_queryset(self):
"""
This view should return a list of all the service types.
"""
servicetype_list = ServiceType.objects.all()
return servicetype_list
它显示:
[
{
"id": 1,
"cleaning_type": "Lite service",
"service_name": "Floors",
},
{
"id": 2,
"cleaning_type": "Lite service",
"service_name": "Bathrooms",
},
{
"id": 3,
"cleaning_type": "Lite service",
"service_name": "Kitchen",
}
]
我希望它采用以下格式:
[
{
id: 1,
cleaning_type: 'Lite service',
service_name: ['Floors', 'bathroom', 'kitchen'],
},
{
id: 2,
cleaning_type: 'Moving cleaning',
service_name: ['Kitchen Including All Appliances And Cabinets'],
},
]
这意味着所有子元素都将位于单独的父列表下。不是一个个分开。
models.py 在这里:
清洗型型号:
class CleaningType(models.Model):
cleaning_type_name = models.CharField(
_("Select Cleaning Type"), blank=True, null=True, max_length=255)
price = models.DecimalField(default=0,max_digits=6, decimal_places=2)
def __str__(self):
return self.cleaning_type_name
服务模式:
class Service(models.Model):
cleaning_type = models.ForeignKey(
CleaningType, on_delete=models.CASCADE)
service_name = models.CharField(
_("Service Name"), blank=True, null=True, max_length=255)
#string type added
def __str__(self):
return str(self.service_name)
我想要父餐饮下的子类别。这里cleaning_type是父类,service是cleaning_type的子类。即:cleaning_type >> service_type
【问题讨论】:
-
要合并多个服务对象吗?
-
@DavidLu 是的。我想组合几个服务对象。
-
但是不知道怎么组合?他们如何被视为同一组?
-
@DavidLu 如果您认为这些子类别,那么我想要父类别下的子类别。这里cleaning_type是父类,service_type是cleaning_type的子类。即:cleaning_type >> service_type
-
那我觉得数据库设计不好。
标签: django-models django-rest-framework