Как сконструировать модель и ее ребенка django - PullRequest
0 голосов
/ 06 мая 2020

Как разработать модель в django для хранения ниже JSON значений в одной модели

class Bus(models.Model):
    source = models.CharField(max_length=200)
    destination = models.CharField(max_length=200)
    type= models.CharField(max_length=200)
    price=models.FloatField()

Мне нужно принять ниже json, чтобы принять и сохранить в той же таблице, если я могу используйте ListField, тогда как это будет для подключений

  {  
     "source": "delhi",
     "destination": "pune",
     "type": "Economy",
     "price":300.0,
     "Connections": [
                        {
                            "source": "lon",
                            "destination": "liverpool",
                            "type": "luxury",
                         },
                        {
                            "source": "banglur",
                            "destination": "cochin",
                            "type": "luxury",
                         }
                    ],
}

1 Ответ

1 голос
/ 06 мая 2020

Вы можете использовать Внешние ключи .

from django.db import models

class Connection:
    source = models.CharField(max_length=256)
    destination = models.CharField(max_length=256)
    type = models.CharField(max_length=256)

class Bus(models.Model):
    source = models.CharField(max_length=256)
    destination = models.CharField(max_length=256)
    type = models.CharField(max_length=256)
    price = models.FloatField()
    connections = models.ForeignKey(Connection, on_delete=models.CASCADE)

Или JsonField .

from django.contrib.postgres.fields import JSONField
from django.db import models

class Bus(models.Model):
        source = models.CharField(max_length=256)
        destination = models.CharField(max_length=256)
        type = models.CharField(max_length=256)
        price = models.FloatField()
        connections = JSONField()
...