c
Size: a a a
c
SS
AC
AC
XL
AT
SS
XL
XL
AT
from typing import List, Union
from uuid import UUID
from pydantic import BaseModel
class Parent(BaseModel):
f: str
class TaxesToBePaidCard(Parent):
id: int
custom: UUID
class TaxesToSignCard(Parent):
id: int
custom: int
class Test1(BaseModel):
cards: Union[List[TaxesToBePaidCard], List[TaxesToSignCard]]
class Test2(BaseModel):
cards: Union[List[TaxesToSignCard], List[TaxesToBePaidCard]]
if __name__ == '__main__':
cards_1 = TaxesToBePaidCard(id=1, f="1", custom="C9233091-8115-4BF4-9CD4-7D46A053AFC1")
cards_2 = TaxesToSignCard(id=1, f="1", custom=123)
print("Wrong", Test2(cards=[cards_1.dict()]).dict(), Test2(cards=[cards_2.dict()]))
print("Ok", Test1(cards=[cards_1.dict()]).dict(), Test1(cards=[cards_2.dict()]))
print()
print("Wrong", Test2(cards=[cards_1.dict()]).json(), Test2(cards=[cards_2.dict()]).json())
print("Ok", Test1(cards=[cards_1.dict()]).json(), Test1(cards=[cards_2.dict()]).json())SS

AT
XL
AT
AC
from typing import List, Union
from uuid import UUID
from pydantic import BaseModel
class Parent(BaseModel):
f: str
class TaxesToBePaidCard(Parent):
id: int
custom: int
class TaxesToSignCard(Parent):
id: UUID
custom: int
class Test1(BaseModel):
cards: Union[List[TaxesToBePaidCard], List[TaxesToSignCard]]
class Test2(BaseModel):
cards: Union[List[TaxesToSignCard], List[TaxesToBePaidCard]]
if __name__ == '__main__':
cards_1 = TaxesToBePaidCard(id=1, f="1", custom="C9233091-8115-4BF4-9CD4-7D46A053AFC1")
cards_2 = TaxesToSignCard(id=1, f="1", custom=123)
print("Wrong", Test2(cards=[cards_1.dict()]).dict(), Test2(cards=[cards_2.dict()]))
print("Ok", Test1(cards=[cards_1.dict()]).dict(), Test1(cards=[cards_2.dict()]))
print()
print("Wrong", Test2(cards=[cards_1.dict()]).json(), Test2(cards=[cards_2.dict()]).json())
print("Ok", Test1(cards=[cards_1.dict()]).json(), Test1(cards=[cards_2.dict()]).json())AC
AT
from typing import List, Union
from uuid import UUID
from pydantic import BaseModel, validator
class Parent(BaseModel):
f: str
class TaxesToBePaidCard(Parent):
id: int
custom: int
class TaxesToSignCard(Parent):
id: UUID
custom: int
class Test1(BaseModel):
cards: Union[List[TaxesToBePaidCard], List[TaxesToSignCard]]
class Test2(BaseModel):
cards: Union[List[TaxesToSignCard], List[TaxesToBePaidCard]]
if __name__ == '__main__':
cards_1 = TaxesToBePaidCard(id=1, f="1", custom=321)
cards_2 = TaxesToSignCard(id="C9233091-8115-4BF4-9CD4-7D46A053AFC1", f="1", custom=123)
print("Ok", Test2(cards=[cards_1.dict()]).dict(), Test2(cards=[cards_2.dict()]))
print("Wrong", Test1(cards=[cards_1.dict()]).dict(), Test1(cards=[cards_2.dict()]))
print()
print("Ok", Test2(cards=[cards_1.dict()]).json(), Test2(cards=[cards_2.dict()]).json())
print("Wrong", Test1(cards=[cards_1.dict()]).json(), Test1(cards=[cards_2.dict()]).json())