t
Size: a a a
t
t
AT
from typing import List, Union
from pydantic import BaseModel, UUID4
class Parent(BaseModel):
f: str
class TaxesToBePaidCard(Parent):
id: int
custom: int
class TaxesToSignCard(Parent):
id: UUID4
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())t
AC
AT
AC
AC
AT
AT
AT
AT
AC
AT
AC
AT
AC
AT
AT