-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodel.py
More file actions
53 lines (42 loc) · 1018 Bytes
/
Copy pathmodel.py
File metadata and controls
53 lines (42 loc) · 1018 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from typing import List, Optional
from fastapi import Form
from pydantic import BaseModel
class Todo(BaseModel):
id: Optional[int]
item: str
@classmethod
def as_form(
cls,
item: str = Form(...)
):
return cls(item=item)
class Config:
schema_extra = {
"example": {
"id": 1,
"item": "Example schema!"
}
}
class TodoItem(BaseModel):
item: str
class Config:
schema_extra = {
"example": {
"item": "Read the next chapter of the book"
}
}
class TodoItems(BaseModel):
todos: List[TodoItem]
class Config:
schema_extra = {
"example": {
"todos": [
{
"item": "Example schema 1!"
},
{
"item": "Example schema 2!"
}
]
}
}