Hp137's picture
testing payslip
911e744
import uuid
from datetime import date, datetime
from typing import Optional
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy import Column, ForeignKey, UniqueConstraint
from sqlmodel import SQLModel, Field, Relationship
class JournalEntry(SQLModel, table=True):
__tablename__ = "journal_entries"
__table_args__ = (
UniqueConstraint("user_id", "journal_date", name="unique_user_date_journal"),
)
id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True)
user_id: uuid.UUID = Field(
sa_column=Column(
UUID(as_uuid=True),
ForeignKey("users.id", ondelete="CASCADE"),
nullable=False,
)
)
title: str = Field(nullable=False)
content: str = Field(nullable=False)
journal_date: date = Field(nullable=False)
created_at: datetime = Field(default_factory=datetime.now)
updated_at: datetime = Field(
default_factory=datetime.now,
sa_column_kwargs={"onupdate": datetime.now},
nullable=False,
)
user: Optional["Users"] = Relationship(back_populates="journal_entries")