@igoryusha22

Как мне в django написать модель так чтобы комфортно работать с JSON?

Задавал о том же прошлый вопрос, но внятный для меня ответ не получил, создаю новый, не ругайтесь, пожалуйста.

Мне нужно чтобы:
сайт делал запрос на сервер -> сервер искал у себя определенные данные и возвращал JSON -> затем JS работал на клиенте с этим JSON.

Через админку добавляются данные, например:
Тип - обычная точка;
потом определенная структура вложенных полей так чтобы из них вышел такой "элемент":
{
    "endPlace": [425, 330],
    "icon": "endIcon30",
    "startPlace": [
        {
            "startPoint": [45, 875],
            "icon": "startIcon20",
            "url": ["_aC@DFFTjUU", "3mcWTjoi2zFE"]
        },
        {
            "startPoint": [51, 670],
            "icon": "startIcon20",
            "url": ["3mcW212zFE"]
        },
        {
            "startPoint": [51, 670],
            "icon": "startIcon20",
            "url": ["3mcW212zFE"]
        }
    ]
}

,
2. Затем они записываются в бд.

И когда сервер получает запрос, он собирать JSON файл, из "элементов выше" по типу, и на выходе получится:
JSON такого характера:
[{
    "endPlace": [425, 330],
    "icon": "endIcon30",
    "startPlace": [
        {
            "startPoint": [45, 875],
            "icon": "startIcon20",
            "url": ["_aC@DFFTjUU", "3mcWTjoi2zFE"]
        },
        {
            "startPoint": [51, 670],
            "icon": "startIcon20",
            "url": ["3mcW212zFE"]
        },
        {
            "startPoint": [51, 670],
            "icon": "startIcon20",
            "url": ["3mcW212zFE"]
        }
    ]
},
{
  "endPlace": [452, 175],
  "icon": "endIcon30",
  "startPlace": [
      {
          "startPoint": [936, 845],
          "icon": "startIcon20",
          "url": ["EF@4MvqTjUU", "3m!@rf2zFE"]
      }
  ]
},
{
  "endPlace": [10, 10],
  "icon": "endIcon30",
  "startPlace": [
      {
          "startPoint": [54, 845],
          "icon": "startIcon20",
          "url": ["_aC5423TjUU", "3mcWT345zFE"]
      },
      {
          "startPoint": [54, 845],
          "icon": "startIcon20",
          "url": ["_aC5423TjUU", "3mcWT345zFE"]
      }
  ]
}]


Очень надеюсь на подробное разъяснение, указание на материалы, которые помогут реализовать подобное.
Может кто-то делал модели, которые создавали подобное.

Если что-то не понятно описал, буду рад описать иными словами.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Tomio
@Tomio
backend developer (python, php)
Ну в вашем случае всё достаточно просто. Но нужно в качестве БД использовать Postgres, так как в таком случае можно в джанго использовать поле ArrayField.

class StartPlace(models.Model):

	start_point = models.ArrayField(max_length=10)
	icon = models.CharField(max_length=50)
	url = models.ArrayField(max_length=10)

class Point(models.Model):

	end_place = models.ArrayField(max_length=10)
	icon = models.CharField(max_length=50)
	start_place = models.ManyToManyField(StartPlace)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы