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

Резултати

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

Пребарај: #designweek

当前筛选 #designweek清除筛选

8 Architectural Installations at Dubai Design Week 2022 This year’s program is focused on designing a sustainable future. To promote this, Dubai Design Week has invited international and regional architects and designers to create installations that demonstrate creative design thinking, to introduce innovative materials, and spark conversations about the ways in which design can have a positive impact on the environment. 1. Once Upon a Forest / OBMI 2. How Much Does Your Debris Weigh? / Quartz Architects 3. IOTA / Karim Tamerji and Elias El Hage 4. Grounded in Hope / Grounded Design 5. Seven Cypresses (Seven SARV) / Banafsheh Hemmati 6. Suhail Design / Reem Al Bustani 7. KIN / FADAA 8. Al Gargoor / Sara Alrayyes #arch_shovel#designweek#dubai#architecture#installation

Nine design pieces from the Salone del Mobile 2022. 1. Biomorphic, The value of research for De Castelli. 2. Ixa, Foster+Partners for Artemide. 3. Loop, India Mahdavi for Gebrüder Thonet Vienna. 4. Riace, Ronan & Erwan Bouroullec for Magis. 5. Design Re-Generation. Università Statale di Milano, Via Festa del Perdono 7. 6. La Manufacture. Museo Poldi Pezzoli, Via Manzoni 12, Milan. 7. Tom Dixon, Twenty. Palazzo Serbelloni, corso Venezia 14. 8. Montbook, Giulio Iacchetti. Temporary Shop, via Palermo 18, Milan. 9. Again from the Earth’s Foundation. Fondazione Giangiacomo Feltrinelli, Via Pasubio 5, Milan. Photo Marco Menghi More on domusweb.it #designweek#milandesignweek#salonedelmobile#arch_shovel#milano

The most Instagrammable installation of Milano Design Week 2022. During Milan design week, designer Daniel Arsham teamed with bathroom and kitchen manufacturer Kohler to create a walking interpretation of a "sink" at a Baroque mansion. The piece, dubbed Divided Layers, is made up of seven stacked white panels that form a tunnel that is entered through a platform flanked by a water feature. #milandesignweek#milan#designweek#danielarsham#arch_shovel