У меня быстрый API, и я пытаюсь смоделировать входные данные, как показано ниже. Я хочу определить класс данных таким образом, чтобы колледжи представляли собой список, но необязательный, человек может иметь или не иметь опыт работы в колледже, и в этом списке есть список классов, который не является обязательным. Я включил необязательное ключевое слово, так что даже если во входных данных отсутствуют эти значения, вызов моего API не завершится неудачно. это правильный способ создания моих классов. Кроме того, есть ли лучший/короткий способ создания моих классов в pydantic для вложенных классов моделей? человек -> колледжи, затем у колледжей есть классы, вложенная структура. можно ли определить всю структуру в одном классе, а не определять три класса?
{
'name': 'john',
'Colleges': [
{
'name': 'Harvard',
...
'Classes': [
{
'level': 'graduate',
'grade': 'A'
},
{
'level': 'graduate',
'grade': 'B'
}
]
}
]
}
# Import required modules
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List
# Create a FastAPI app instance
app = FastAPI()
class Class(BaseModel):
level: str
grade: int
class College(BaseModel):
name: str
age: int
Classes: optional[List[Class]]= None
class Person(BaseModel):
name: str
description: str
Colleges: Optional[List[College]] = None
@app.post("/create/", response_model=dict)
def create(person: Person):
//do somethign
return {'message': 'success'}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Подробнее здесь: https://stackoverflow.com/questions/792 ... ntic-model
Как спроектировать входные данные вложенного словаря с помощью модели pydantic? ⇐ Python
Программы на Python
1732698211
Anonymous
У меня быстрый API, и я пытаюсь смоделировать входные данные, как показано ниже. Я хочу определить класс данных таким образом, чтобы колледжи представляли собой список, но необязательный, человек может иметь или не иметь опыт работы в колледже, и в этом списке есть список классов, который не является обязательным. Я включил необязательное ключевое слово, так что даже если во входных данных отсутствуют эти значения, вызов моего API не завершится неудачно. это правильный способ создания моих классов. Кроме того, есть ли лучший/короткий способ создания моих классов в pydantic для вложенных классов моделей? человек -> колледжи, затем у колледжей есть классы, вложенная структура. можно ли определить всю структуру в одном классе, а не определять три класса?
{
'name': 'john',
'Colleges': [
{
'name': 'Harvard',
...
'Classes': [
{
'level': 'graduate',
'grade': 'A'
},
{
'level': 'graduate',
'grade': 'B'
}
]
}
]
}
# Import required modules
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List
# Create a FastAPI app instance
app = FastAPI()
class Class(BaseModel):
level: str
grade: int
class College(BaseModel):
name: str
age: int
Classes: optional[List[Class]]= None
class Person(BaseModel):
name: str
description: str
Colleges: Optional[List[College]] = None
@app.post("/create/", response_model=dict)
def create(person: Person):
//do somethign
return {'message': 'success'}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Подробнее здесь: [url]https://stackoverflow.com/questions/79228803/how-to-design-a-nested-dictionary-input-data-with-pydantic-model[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия