merlemcdurrrmott commited on
Commit
c19e811
·
verified ·
1 Parent(s): 4f4e361

Upload app/database/models.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app/database/models.py +30 -0
app/database/models.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any
2
+ from datetime import datetime
3
+ from sqlalchemy import MetaData
4
+ from sqlalchemy.orm import DeclarativeBase
5
+
6
+ NAMING_CONVENTION = {
7
+ "ix": "ix_%(table_name)s_%(column_0_N_name)s",
8
+ "uq": "uq_%(table_name)s_%(column_0_N_name)s",
9
+ "ck": "ck_%(table_name)s_%(constraint_name)s",
10
+ "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
11
+ "pk": "pk_%(table_name)s",
12
+ }
13
+
14
+ class Base(DeclarativeBase):
15
+ metadata = MetaData(naming_convention=NAMING_CONVENTION)
16
+
17
+ def to_dict(obj: Any, include_none: bool = False) -> dict[str, Any]:
18
+ fields = obj.__table__.columns.keys()
19
+ out: dict[str, Any] = {}
20
+ for field in fields:
21
+ val = getattr(obj, field)
22
+ if val is None and not include_none:
23
+ continue
24
+ if isinstance(val, datetime):
25
+ out[field] = val.isoformat()
26
+ else:
27
+ out[field] = val
28
+ return out
29
+
30
+ # TODO: Define models here