Siirrä kipina-codebench projektin päätasolle
This commit is contained in:
37
kipina-codebench/golden-examples/blog/schemas.py
Normal file
37
kipina-codebench/golden-examples/blog/schemas.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""Pydantic v2 -skeemat — Create sisääntulolle, Response vastaukselle."""
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class AuthorCreate(BaseModel):
|
||||
"""Uuden kirjoittajan luonti. Pakolliset: name, email."""
|
||||
|
||||
name: str
|
||||
email: str
|
||||
bio: str | None = None
|
||||
|
||||
|
||||
class AuthorResponse(AuthorCreate):
|
||||
"""Palautettava kirjoittaja — sisältää id:n."""
|
||||
|
||||
id: int
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class PostCreate(BaseModel):
|
||||
"""Uuden postauksen luonti. Pakolliset: title, content, author_id."""
|
||||
|
||||
title: str
|
||||
content: str
|
||||
author_id: int
|
||||
published_at: datetime | None = None
|
||||
status: str = "draft"
|
||||
|
||||
|
||||
class PostResponse(PostCreate):
|
||||
"""Palautettava postaus — sisältää id:n."""
|
||||
|
||||
id: int
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user