diff --git a/reflex/model.py b/reflex/model.py index c8724f736..f579784d4 100644 --- a/reflex/model.py +++ b/reflex/model.py @@ -54,7 +54,7 @@ class Model(Base, sqlmodel.SQLModel): """Base class to define a table in the database.""" # The primary key for the table. - id: Optional[int] = sqlmodel.Field(primary_key=True) + id: Optional[int] = sqlmodel.Field(default=None, primary_key=True) def __init_subclass__(cls): """Drop the default primary key field if any primary key field is defined.""" diff --git a/tests/test_model.py b/tests/test_model.py index 0359d1917..accab52fe 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -1,3 +1,4 @@ +from typing import Optional from unittest import mock import pytest @@ -20,7 +21,7 @@ def model_default_primary() -> Model: class ChildModel(Model): name: str - return ChildModel(name="name") # type: ignore + return ChildModel(name="name") @pytest.fixture @@ -32,10 +33,10 @@ def model_custom_primary() -> Model: """ class ChildModel(Model): - custom_id: int = sqlmodel.Field(default=None, primary_key=True) + custom_id: Optional[int] = sqlmodel.Field(default=None, primary_key=True) name: str - return ChildModel(name="name") # type: ignore + return ChildModel(name="name") def test_default_primary_key(model_default_primary):