Skip to content
Discussion options

You must be logged in to vote

In SQLMOdel you would use computed_field:

from pydantic import computed_field
from sqlmodel import Field, Session, SQLModel, create_engine


class UserBase(SQLModel):
    id: int | None = Field(default=None, primary_key=True)
    first_name: str

class User(UserBase, table=True):
    pass

class UserRead(UserBase):
    @computed_field
    @property
    def full_name(self) -> str:
        return f"{self.first_name}:{self.id}"


sqlite_url = "sqlite:///"

engine = create_engine(sqlite_url)
SQLModel.metadata.create_all(engine)


with Session(engine) as session:
    user = User(first_name="John")
    session.add(user)
    session.commit()

    user_read = UserRead.model_validate(user)
    assert

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by YuriiMotov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
2 participants