Я работаю над проектом с Django Rest Framework, в котором мне нужно сделать запрос на публикацию, в котором мне нужно передать объект JSON в TextField вместе с другими полями. Как я могу передать объект JSON следующим образом :
{
"no_of_svc": 3,
"svc1": {
"name": "details",
"imagePullPolicy": "IfNotPresent",
"versions": {
"v1": {
"name": "details-v1",
"image": "example-details-v1"
}
},
"port": {
"port": 9080,
"name": "http"
}
},
"svc2": {
"name": "ratings",
"versions": {
"v1": {
"name": "ratings-v1",
"image": "example-ratings-v1"
},
"v2": {
"name": "ratings-v2",
"image": "example-ratings-v2"
},
"port": {
"port": 9080,
"name": "http"
}
}
},
"svc3": {
"name": "reviews",
"versions": {
"v1": {
"name": "reviews-v1",
"image": "example-reviews-v1",
"containerPort": 9080
},
"v2": {
"name": "reviews-v2",
"image": "example-reviews-v2"
},
"port": {
"port": 9080,
"name": "http"
}
}
}
}
, а затем проанализируйте его в методе create generics.ListCreateAPIView ?
Вот моя модель:
services = (
('Single', 'Single'),
('Multiple', 'Multiple'),
)
class DeploymentOnUserModel(models.Model):
deployment_name = models.CharField(max_length=256, )
credentials = models.TextField(blank=False)
project_name = models.CharField(max_length=150, blank=False)
project_id = models.CharField(max_length=150, blank=True)
cluster_name = models.CharField(max_length=256, blank=False)
zone_region = models.CharField(max_length=150, blank=False)
services = models.CharField(max_length=150, choices=services)
configuration = models.TextField()
routing = models.TextField()
def save(self, **kwargs):
if not self.id and self.services == 'Multiple' and not self.routing and not self.configuration:
raise ValidationError("You must have to provide routing for multiple services deployment.")
super().save(**kwargs)