TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 2 слични објави

Пребарај: #bfr

当前筛选 #bfr清除筛选
松鼠储藏库

@smart_storehouse · Post #204 · 11.12.2023 г., 09:35

v1.12.2-90e1ace Commit: — misc — remove port detection — res/raw/singbox: sync templates with sing-box v1.8.0 — change meta name to mihomo — remove sing-box download core — feat: raw/singboxtemplate source #apk#manager#bfr#root

#ALT market update with some free alpha 🔩 👉JASMY recently added AI to its roadmap, but the move is seen as risky and lacking confidence. AI is expected to be the main trend in 2023, with cryptocurrencies such as #FET, #CTXC, #NMR, #AGIX, and #PHB likely to benefit. 👉ACH has introduced a crypto on-ramp payment solution in Vietnam, where 30-50% of the population is invested in cryptocurrencies. The company also provides incentives for Twitter payments and is obtaining a Hong Kong license, making it a good mid-term investment. 👉CFX's founder has proposed the implementation of a burn mechanism, seeking community approval. If approved, a pump is expected similar to #RENDER. The company is also working with China, making it a good mid-term investment. 👉#RENDER is considered a good long-term investment as it operates in the GPU/VR field and has a burn mechanism in place. Additionally, it has a partnership with Apple and is poised to benefit from the growing trend in AI. 👉Arb cryptocurrencies are good investments during their respective seasons. To invest, buy on dips and hold. Some recommended Zk coins are #SYS, #DUSK, #MINA, #IMX, #CTSI, #MATIC, and #LRC. For arb, consider cryptocurrencies operating in the dex/perp/defi field such as #GMX, #GNS, #BFR, #RPL, and #GMD. 👉The ETH Shanghai update is due in Q1/Q2 with cryptocurrencies such as #FIS, #LDO, #RPL, #FXS, and #ANKR expected to benefit. 👉Finally, we believe that Chinese/Korean/Asian investors are driving the recent market pump. 2023 is the year to invest in China, so take advantage of this opportunity and good luck!