Подтвердить что ты не робот

Сериализовать datetime для json в Django

Привет, как получить DateTimeField из базы данных mysql в django в json формате. Я получил ошибку, когда я выполнил код "Date.time не может быть сериализован в json" (данные содержат много значений)

data = json.dumps(data)

но это было исправлено добавлением

ALL_data = serializers.serialize("json", data, ensure_ascii=False)

Но теперь я получаю объект 'str' не имеет атрибута '_meta'

4b9b3361

Ответ 1

Это решило мою проблему.

import json
from django.core.serializers.json import DjangoJSONEncoder
data =  json.dumps(data, cls=DjangoJSONEncoder)

Ответ 2

Сериализаторы Django предназначены только для использования в наборах запросов; вам придется найти другой способ решить вашу проблему, например, сначала преобразовать datetime в нечто другое.

Ответ 3

Всякий раз, когда вы видите сообщение об ошибке формы ... object has no attribute '_meta', это четкий знак того, что метод ожидал набор запросов, но получил что-то еще. В этой конкретной ситуации serializers.serialize должен иметь набор запросов для своего второго аргумента. Вы не можете использовать список, словарь и т.д., И определенно не строку.

Где установлено data. Убедитесь, что ему задан правильный запрос. Вы также можете отправить больше своего кода, если у вас все еще есть проблемы. Трудно диагностировать проблему гораздо больше, вне контекста.