Вложение сериализаторов моделей в Django без использования rest framework

Я хотел бы узнать, возможно ли вложить сериализаторы без использования rest framework.

Я читал этот вопрос и хотел бы сделать что-то подобное, но мне не разрешают использовать rest framework.

Можно ли сериализовать модели с внешними ключами, используя аналогичный подход (вложенность) без использования rest framework?

На данный момент я сериализую json следующим образом:

data = serialize("json", myModelObject, fields=('id', 'foreignKeyField'), cls=DatetimeJSONEncoder)

А я бы хотел сделать что-то вроде этого:

data = serialize("json", myModelObject, fields=('id', 'foreignKeyField.some_value'), cls=DatetimeJSONEncoder)

сначала убедитесь, что ваше представление наследует от JSONResponseMixin

class JSONResponseMixin(object):
    def render_to_json_response(self, context, **response_kwargs):
        return JsonResponse(self.get_data(context), **response_kwargs)

    def get_data(self, context):
        return context

Как насчет этого :

  1. Расширьте значения запроса, включив в него foreignKeyField.some_value
  2. .
  3. преобразовать набор запросов в список
  4. возвращаем json-список в качестве ответа на ajax-запрос
  5. получите ответ в виде массива json в ajax success
    results = MyModel.objects.filte(my_filter).values("field_1",
                                                      "field_2",
                                                      "field_n",
                                     "foreignKeyfield__field_11",
                                     "foreignKeyfield__field_22")
results_list = json.dumps(results)
  1. return JsonResponse(results_list)

  2. это зависит от технологии вашего фронтенда, попробуйте вывести ответ и разобрать с радостью

    .

сообщите мне в разделе комментариев, если вам нужно больше деталей

Вернуться на верх