Игнорируйте некоторые значения по умолчанию в Pydantic во время генерации схемы JSONPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Игнорируйте некоторые значения по умолчанию в Pydantic во время генерации схемы JSON

Сообщение Anonymous »

(на момент написания, это на Pydantic версии 2.11.7) У меня есть следующая MRE: < /p>

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

import json
import time
from pydantic import BaseModel, Field

class SeededModel(BaseModel):
seed: int = Field(default_factory=lambda _: int(time.time() * 1000))
sensible_default: bool = False

class Base(BaseModel):
settings: SeededModel = SeededModel()

config_schema = Base.model_json_schema()
print(json.dumps(config_schema, indent=2))
< /code>
Когда я запускаю это, я получаю следующую схему JSON: < /p>
{
"$defs": {
"SeededModel": {
"properties": {
"seed": {
"title": "Seed",
"type": "integer"
},
"sensible_default": {
"default": false,
"title": "Sensible Default",
"type": "boolean"
}
},
"title": "SeededModel",
"type": "object"
}
},
"properties": {
"settings": {
"$ref": "#/$defs/SeededModel",
"default": {
"seed": 1752596882987,
"sensible_default": false
}
}
},
"title": "Base",
"type": "object"
}
Есть ли хороший способ предоставить по умолчанию для базового#настройки , который сохраняет значение по умолчанию для SeededModel#sensible_default , но не для SeededModel#Seed ?


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

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

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

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

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

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

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