From 96e5181e14005eb1af0c14bcf3c949d9be868ca6 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami Date: Wed, 2 Oct 2024 11:22:41 -0700 Subject: [PATCH] add that --- reflex/utils/compat.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/reflex/utils/compat.py b/reflex/utils/compat.py index ef5fcd3e1..27c4753db 100644 --- a/reflex/utils/compat.py +++ b/reflex/utils/compat.py @@ -69,3 +69,21 @@ def pydantic_v1_patch(): with pydantic_v1_patch(): import sqlmodel as sqlmodel + + +def sqlmodel_field_has_primary_key(field) -> bool: + """Determines if a field is a priamary. + + Args: + field: a rx.model field + + Returns: + If field is a primary key (Bool) + """ + if getattr(field.field_info, "primary_key", None) is True: + return True + if getattr(field.field_info, "sa_column", None) is None: + return False + if getattr(field.field_info.sa_column, "primary_key", None) is True: + return True + return False