Add new method sqlmodel_update() to update models in place, including an update parameter for extra data (#804)

This commit is contained in:
Sebastián Ramírez
2024-02-17 14:49:39 +01:00
committed by GitHub
parent 7fec884864
commit fa12c5d87b
15 changed files with 1871 additions and 26 deletions

View File

@@ -1,6 +1,7 @@
from datetime import datetime, timedelta
from sqlmodel import Field, SQLModel
from sqlmodel._compat import get_fields_set
def test_fields_set():
@@ -10,12 +11,12 @@ def test_fields_set():
last_updated: datetime = Field(default_factory=datetime.now)
user = User(username="bob")
assert user.__fields_set__ == {"username"}
assert get_fields_set(user) == {"username"}
user = User(username="bob", email="bob@test.com")
assert user.__fields_set__ == {"username", "email"}
assert get_fields_set(user) == {"username", "email"}
user = User(
username="bob",
email="bob@test.com",
last_updated=datetime.now() - timedelta(days=1),
)
assert user.__fields_set__ == {"username", "email", "last_updated"}
assert get_fields_set(user) == {"username", "email", "last_updated"}