First working version
This commit is contained in:
@@ -4,52 +4,15 @@ from pydantic import BaseModel
|
||||
class Content(BaseModel):
|
||||
type: str
|
||||
key: str
|
||||
url: Optional[str | None] = None
|
||||
url: Optional[str | None]
|
||||
|
||||
class Tag(BaseModel):
|
||||
status: str
|
||||
content: Content | Dict[str, Content] | None = None
|
||||
content: Optional[Content | Dict[str, Optional[Content]]]
|
||||
|
||||
class Customer(BaseModel):
|
||||
status: str
|
||||
tags: Dict[str, Tag] | None = None
|
||||
tags: Optional[Dict[str, Optional[Tag]] ]
|
||||
|
||||
class Redirects(BaseModel):
|
||||
customers: Dict[str, Customer] | None = None
|
||||
|
||||
if __name__ == "__main__":
|
||||
r = Redirects (
|
||||
customers = {
|
||||
"cust1": Customer(
|
||||
status="active",
|
||||
tags= {
|
||||
"tag1" : Tag (
|
||||
status="active",
|
||||
content= Content(
|
||||
type="s3",
|
||||
key="foo",
|
||||
url=None
|
||||
)
|
||||
),
|
||||
"tag2" : Tag(
|
||||
status="active",
|
||||
content = {
|
||||
"face1" : Content(
|
||||
type="s3",
|
||||
key="contentface1",
|
||||
url = "foo"
|
||||
),
|
||||
"face2": Content(
|
||||
type="s3",
|
||||
key="contentface2",
|
||||
url = "bar"
|
||||
),
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
r.customers['cust2'] = Customer(status="inactive", tags=None)
|
||||
print(r.model_dump_json(indent=2))
|
||||
customers: Dict[str, Optional[Customer]] | None = None
|
||||
|
||||
Reference in New Issue
Block a user