Идея модели для создания сервиса добавления в корзину с эксклюзивным субсервисом

#django #django-models #django-rest-framework

Вопрос:

Я создаю проект, в котором пользователь может добавить services что-то вроде pest_control в свой cart . Также дополнительно пользователь может также добавить Exclusive sub_service лайк cleaning_house sanitizing_house к существующим service -pest_control своим cart

просмотр структуры данных корзины будет выглядеть следующим образом:

 {
    "service":"Pest Control:,
    "service_price":500,
    "sub_service":[
                    {
                      "service_name":"House Cleaning",
                      "service_price":150,
                    },
                    {
                      "service_name":"Sanitizing House",
                      "service_price":100,
                    }
                  ]
     "Total_cost":750
}
 

Итак, какими будут модели для корзины, чтобы можно было достичь вышеуказанной структуры данных, и если родительские службы будут удалены из корзины, то дочерние также будут удалены. и дочерняя служба добавляется без родителя, то она не должна допускать

моя существующая модель обслуживания такова:

 class Services(models.Model):
    service_id = models.AutoField(primary_key=True)
    parent_id = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True,related_name='sub_service')
    price = models.FloatField(null=True, blank=True)
    service_name = models.CharField(max_length=100)
    service_icon = models.CharField(max_length=500, null=True, blank=True)
    service_image = models.CharField(max_length=500, null=True, blank=True)
    service_description = models.TextField( null=True, blank=True)
    duration = models.CharField(max_length=100,null=True,blank=True)
    crew = models.IntegerField(null=True,blank=True)