Skip to content

Commit 1165c58

Browse files
committed
remove Overriding default primary key
1 parent 0ad0bca commit 1165c58

2 files changed

Lines changed: 1 addition & 42 deletions

File tree

packages/reflex-base/src/reflex_base/utils/compat.py

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
import sys
44
from collections.abc import Mapping
5-
from typing import TYPE_CHECKING, Any
6-
7-
if TYPE_CHECKING:
8-
from pydantic.fields import FieldInfo
5+
from typing import Any
96

107

118
async def windows_hot_reload_lifespan_hack():
@@ -51,19 +48,3 @@ def annotations_from_namespace(namespace: Mapping[str, Any]) -> dict[str, Any]:
5148
if annotate := get_annotate_from_class_namespace(namespace):
5249
return call_annotate_function(annotate, format=Format.FORWARDREF)
5350
return namespace.get("__annotations__", {})
54-
55-
56-
def sqlmodel_field_has_primary_key(field_info: "FieldInfo") -> bool:
57-
"""Determines if a field is a primary.
58-
59-
Args:
60-
field_info: a rx.model field
61-
62-
Returns:
63-
If field_info is a primary key (Bool)
64-
"""
65-
if getattr(field_info, "primary_key", None) is True:
66-
return True
67-
if getattr(field_info, "sa_column", None) is None:
68-
return False
69-
return bool(getattr(field_info.sa_column, "primary_key", None)) # pyright: ignore[reportAttributeAccessIssue]

reflex/model.py

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
from reflex_base.utils import console
1414
from reflex_base.utils.serializers import serializer
1515

16-
from reflex.utils.compat import sqlmodel_field_has_primary_key
17-
1816
if TYPE_CHECKING:
1917
from typing import TypeVar
2018

@@ -369,26 +367,6 @@ class Model(sqlmodel.SQLModel):
369367
"extra": "allow",
370368
}
371369

372-
@classmethod
373-
def __pydantic_init_subclass__(cls):
374-
"""Drop the default primary key field if any primary key field is defined."""
375-
non_default_primary_key_fields = [
376-
field_name
377-
for field_name, field_info in cls.model_fields.items()
378-
if field_name != "id" and sqlmodel_field_has_primary_key(field_info)
379-
]
380-
if non_default_primary_key_fields:
381-
cls.model_fields.pop("id", None)
382-
console.deprecate(
383-
feature_name="Overriding default primary key",
384-
reason=(
385-
"Register sqlmodel.SQLModel classes with `@rx.ModelRegistry.register`"
386-
),
387-
deprecation_version="0.8.15",
388-
removal_version="0.9.0",
389-
)
390-
super().__pydantic_init_subclass__()
391-
392370
@staticmethod
393371
def create_all():
394372
"""Create all the tables."""

0 commit comments

Comments
 (0)