Похожие чаты

Парни, немного не алхимячий вопрос есть. Пишу функционал синхронизации данных

между двумя приложениями. Когда в приложении А обновляется какая-то запись в таблице, то об этом отправляется ивент в приложение Б и там тоже обновляется запись.

Хочу сделать такую структуру данных на основе датаклассов, которая бы могла одновременно и поспоставлять поля из таблиц, а также хранить значения. Как бы такое реализовать?

Например:

@dataclass
class Company:
title: Mapping[str, "name"] = field()


Где атрибуту 'title' соответсовали бы данные, которые зашли из JSON из приложения A, а атрибуту "name" соответсовала бы колонка в приложении Б. Ну и, естественно, чтобы можно было извлечь значение

10 ответов

15 просмотров

Это тебе метакласс надо писать

Нихрена не понятно, но очень интересно. {"title": "AAA"} - это title: Mapping[str, "name"] = field() {"name": "BBB"} - это так же title: Mapping[str, "name"] = field() ?

Ivan Butskiy
Зачем?

А ты посмотри как в алхимии это реализовано

Ivan-Butskiy Автор вопроса
Vadim
Нихрена не понятно, но очень интересно. {"title":...

Смотри. В двух приложениях у таблиц названия колонок могут отличаться. Например, то, что в одной "title", то в другой - "name". И когда приходят данные на обновление. Например: { "title": "Foo" } То я хотел бы их превратить в свою структуру данных, и на выходе получить: { "name": "Foo" }

Ivan Butskiy
Смотри. В двух приложениях у таблиц названия колон...

pydantic alias или dataclass_factory он же adaptix со Schema name_mapping

Ivan Butskiy
Спасибо

Ivan, Вы увеличили карму Vadim до 518.87 (+7.98)

Ivan Butskiy
Спасибо

https://adaptix.readthedocs.io/en/latest/extended_usage.html#field-renaming

Ivan-Butskiy Автор вопроса

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта