1010from sqlmodel import Field , Relationship , SQLModel
1111
1212if TYPE_CHECKING :
13- from lightly_studio .models .image import ImageTable
13+ from lightly_studio .models .sample import SampleTable
1414
1515
1616class CaptionTable (SQLModel , table = True ):
@@ -22,9 +22,9 @@ class CaptionTable(SQLModel, table=True):
2222
2323 caption_id : UUID = Field (default_factory = uuid4 , primary_key = True )
2424 dataset_id : UUID = Field (foreign_key = "dataset.dataset_id" )
25- sample_id : UUID = Field (foreign_key = "image .sample_id" )
25+ sample_id : UUID = Field (foreign_key = "sample .sample_id" )
2626
27- sample : Mapped [Optional [ "ImageTable" ] ] = Relationship (
27+ sample : Mapped ["SampleTable" ] = Relationship (
2828 back_populates = "captions" ,
2929 sa_relationship_kwargs = {"lazy" : "select" },
3030 )
@@ -40,11 +40,10 @@ class CaptionCreate(SQLModel):
4040 text : str
4141
4242
43- class CaptionImageView (SQLModel ):
43+ class CaptionSampleView (SQLModel ):
4444 """Sample class for caption view."""
4545
46- file_path_abs : str
47- file_name : str
46+ # TODO(Michal, 10/2025): Remove this class and use CaptionView instead.
4847 dataset_id : UUID
4948 sample_id : UUID
5049
@@ -61,7 +60,7 @@ class CaptionView(SQLModel):
6160class CaptionDetailsView (CaptionView ):
6261 """Response model for caption."""
6362
64- sample : CaptionImageView
63+ sample : CaptionSampleView
6564
6665
6766class CaptionsListView (BaseModel ):
0 commit comments