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

Я делаю проект, в котором пользователь может добавить 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) 
Вернуться на верх