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

Резултати

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

Пребарај: #mininglaw

当前筛选 #mininglaw清除筛选
Crypto M - Crypto News

@CryptoM · Post #64773 · 09.04.2026 г., 21:50

🚀 Venezuela's National Assembly Approves New Mining Law to Attract Foreign Investment Venezuela's National Assembly unanimously passed a new mining law on Thursday, which includes 131 articles aimed at garnering support from the United States and attracting foreign investment. According to Jin10, the law features provisions that support foreign investment, such as an 'economic balance' clause and international arbitration options, differing from the 1999 framework that restricted disputes to local courts. The legislation introduces a simplified tax system, with royalties up to 13% of production and a new mining tax up to 6% of total revenue, while exempting several existing taxes. The maximum concession period is extended to 30 years, up from the previous 20 years, with the possibility of two 10-year extensions. Officials stated that the reform aims to attract investment in projects involving gold, bauxite, and other strategic minerals. However, the government retains the authority to designate certain resources or areas as national interests and impose special conditions. #Venezuela#MiningLaw#ForeignInvestment#Gold#Bauxite#EconomicReform#TaxIncentives#NaturalResources#NationalAssembly#InternationalArbitration