Почему я не могу переопределить метод to_dict объекта dataclass, который использует dataclasses_json?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему я не могу переопределить метод to_dict объекта dataclass, который использует dataclasses_json?

Сообщение Anonymous »

dataclasses_json — это библиотека, которая предоставляет возможности JSON для классов данных Python. Я заметил, что переопределение метода to_dict не дает никакого эффекта. Вот пример:

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

@dataclass_json
@dataclass
class Message2:
message: str
weight: int
def to_dict(self, encode_json=False):
print('Custom to_dict')
ret = {'MESSAGE': self.message, 'WEIGHT': self.weight}
return ret
m2 = Message2('m2', 2)
print(m2.to_dict())
Код печатает следующее:

{'message': 'm2', 'weight': 2

Пока я ждал

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

Custom to_dict
{'MESSAGE': 'm2', 'WEIGHT': 2}
Если я удалю строку @dataclass_json, я получу желаемый результат.

Итак, мои вопросы:
  • Почему определение функции не имело эффекта с @dataclass_json, но работало без него?
  • Как переопределить to_dict и использовать @dataclass_json?


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

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

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

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

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

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

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