Создание вложенных объектов JSON из плоского объекта Python с использованием Marshmallow и SqlalchemyPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание вложенных объектов JSON из плоского объекта Python с использованием Marshmallow и Sqlalchemy

Сообщение Anonymous »

Учитывая простую модель (в действительности SQLalchemy): < /p>

Код: Выделить всё

class Thing():
name: str
attr1: int
attr2: str
Как бы я напишет связанный класс схемы зефира, так что он производил json, как это-в идеале без , используя Fields.method, чтобы я мог делать такие вещи, как Fields.integer (as_string = true) там, где это необходимо.

Код: Выделить всё

{
"name": "Name",
"attributes": {
"attr1": "1",
"attr2": "attr2"
}
}
< /code>
Как это стоит. Например, необходимость принуждать к str (), как будто я упускаю в пользу функций зефира ... Я не уверен, как будет работать детеризация.attributes = fields.Method("build_attributes")
def build_attributes(self, obj):
return { "attr1": str(obj.attr1), "attr2": obj.attr2 }
Обновлено:
Другой способ, который я обнаружил, было использовать @pre_load to data.pop () из настройки и добавить в корень (сглаженность) и @post_dump для создания параметров в корне и data.pop () attributes в IT (unflatten). Однако это не кажется очень «зефиром-y», но я думаю, что все еще позволяет стандартную проверку зефира на сплющенной схеме?
Это лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ow-and-sql
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»