diff --git a/reflex/components/dynamic.py b/reflex/components/dynamic.py index ad044d54f..390b6e688 100644 --- a/reflex/components/dynamic.py +++ b/reflex/components/dynamic.py @@ -2,6 +2,7 @@ from reflex import constants from reflex.utils import imports +from reflex.utils.format import format_library_name from reflex.utils.serializers import serializer from reflex.vars import Var, get_unique_variable_name from reflex.vars.base import VarData, transform @@ -64,11 +65,12 @@ def load_dynamic_serializer(): imports = {} for lib, names in component._get_all_imports().items(): + formatted_lib_name = format_library_name(lib) if ( not lib.startswith((".", "/")) and not lib.startswith("http") and all( - not lib.startswith(lib_in_window) + formatted_lib_name != lib_in_window for lib_in_window in libs_in_window ) ): diff --git a/reflex/model.py b/reflex/model.py index fefb1f9e9..0e8d62e90 100644 --- a/reflex/model.py +++ b/reflex/model.py @@ -22,7 +22,7 @@ from reflex import constants from reflex.base import Base from reflex.config import get_config from reflex.utils import console -from reflex.utils.compat import sqlmodel +from reflex.utils.compat import sqlmodel, sqlmodel_field_has_primary_key def get_engine(url: str | None = None) -> sqlalchemy.engine.Engine: @@ -166,8 +166,7 @@ class Model(Base, sqlmodel.SQLModel): # pyright: ignore [reportGeneralTypeIssue non_default_primary_key_fields = [ field_name for field_name, field in cls.__fields__.items() - if field_name != "id" - and getattr(field.field_info, "primary_key", None) is True + if field_name != "id" and sqlmodel_field_has_primary_key(field) ] if non_default_primary_key_fields: cls.__fields__.pop("id", None)