item.py 654 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from typing import Optional
  2. from pydantic import BaseModel
  3. # Shared properties
  4. class ItemBase(BaseModel):
  5. title: Optional[str] = None
  6. description: Optional[str] = None
  7. # Properties to receive on item creation
  8. class ItemCreate(ItemBase):
  9. title: str
  10. # Properties to receive on item update
  11. class ItemUpdate(ItemBase):
  12. pass
  13. # Properties shared by models stored in DB
  14. class ItemInDBBase(ItemBase):
  15. id: int
  16. title: str
  17. owner_id: int
  18. class Config:
  19. orm_mode = True
  20. # Properties to return to client
  21. class Item(ItemInDBBase):
  22. pass
  23. # Properties properties stored in DB
  24. class ItemInDB(ItemInDBBase):
  25. pass