Skip to content

Commit ec46455

Browse files
committed
Fix unique key case
1 parent 7d1ec47 commit ec46455

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

fquery/sqlmodel.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444

4545
def unique():
46-
pass
46+
return field(default=None, metadata={"SQL": {"unique": True}})
4747

4848

4949
def foreignkey(name):
@@ -85,11 +85,12 @@ def sqlmodel(self) -> SQLModel:
8585
return self.__sqlmodel__(**attrs)
8686

8787
def get_field_def(cls, field) -> Union[Field, Relationship]:
88-
if field.default == unique:
89-
return Field(unique=True)
9088
sql_meta = field.metadata.get("SQL", {})
9189
has_foreign_key = bool(sql_meta.get("foreign_key", None))
9290
has_relationship = bool(sql_meta.get("relationship", None))
91+
has_unique_constraint = sql_meta.get("unique", False)
92+
if has_unique_constraint:
93+
return Field(unique=True)
9394

9495
if not sql_meta or not (has_foreign_key or has_relationship):
9596
return Field(

0 commit comments

Comments
 (0)