Вложение сериализаторов моделей в 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
Как насчет этого :
- Расширьте значения запроса, включив в него foreignKeyField.some_value .
- преобразовать набор запросов в список
- возвращаем json-список в качестве ответа на ajax-запрос
- получите ответ в виде массива 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)
return JsonResponse(results_list)
это зависит от технологии вашего фронтенда, попробуйте вывести ответ и разобрать с радостью
.
сообщите мне в разделе комментариев, если вам нужно больше деталей