@@ -177,7 +177,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
177177 t = Test (1 , 42 , "str" , "2023-01-01" )
178178
179179 # Test with insert_only parameter - created_at should be excluded from UPDATE
180- assert list (t .upsert_sql (t .insert_sql (), exclude = {"created_at" })) == [
180+ assert list (t .upsert_sql (t .insert_sql (), insert_only = {"created_at" })) == [
181181 'INSERT INTO "table" ("id", "foo", "bar", "created_at") VALUES ($1, $2, $3, $4) '
182182 'ON CONFLICT ("id") DO UPDATE SET "foo"=EXCLUDED."foo", "bar"=EXCLUDED."bar"' ,
183183 1 ,
@@ -187,7 +187,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
187187 ]
188188
189189 # Test with both exclude and insert_only-style exclude
190- assert list (t .upsert_sql (t .insert_sql (), exclude = {"bar" , "created_at" })) == [
190+ assert list (t .upsert_sql (t .insert_sql (), insert_only = {"bar" , "created_at" })) == [
191191 'INSERT INTO "table" ("id", "foo", "bar", "created_at") VALUES ($1, $2, $3, $4) '
192192 'ON CONFLICT ("id") DO UPDATE SET "foo"=EXCLUDED."foo"' ,
193193 1 ,
@@ -294,7 +294,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
294294 # We simulate what happens inside the upsert method
295295 all_insert_only = test_instance .insert_only_field_names ()
296296 insert_sql = test_instance .insert_sql ()
297- upsert_sql = Test .upsert_sql (insert_sql , exclude = all_insert_only )
297+ upsert_sql = Test .upsert_sql (insert_sql , insert_only = all_insert_only )
298298
299299 upsert_query = upsert_sql .query ()[0 ]
300300
@@ -325,7 +325,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
325325 manual_exclude = {"version" }
326326
327327 insert_sql = test_instance .insert_sql ()
328- upsert_sql = Test .upsert_sql (insert_sql , exclude = manual_exclude )
328+ upsert_sql = Test .upsert_sql (insert_sql , insert_only = manual_exclude )
329329 upsert_query = upsert_sql .query ()[0 ]
330330
331331 # Both created_at (auto) and version (manual) should be excluded from UPDATE
@@ -387,7 +387,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
387387 assert '"created_at"=EXCLUDED."created_at"' not in upsert_query
388388
389389 # Test that manual exclude still works in combination
390- upsert_sql_with_exclude = Test .upsert_sql (insert_sql , exclude = {"updated_at" })
390+ upsert_sql_with_exclude = Test .upsert_sql (insert_sql , insert_only = {"updated_at" })
391391 upsert_query_with_exclude = upsert_sql_with_exclude .query ()[0 ]
392392
393393 # Now both created_at (auto) and updated_at (manual) should be excluded from UPDATE
@@ -425,7 +425,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
425425
426426 # Test force_update with manual insert_only
427427 manual_upsert = Test .upsert_sql (
428- insert_sql , exclude = {"updated_at" }, force_update = {"created_at" }
428+ insert_sql , insert_only = {"updated_at" }, force_update = {"created_at" }
429429 )
430430 manual_query = manual_upsert .query ()[0 ]
431431 assert '"name"=EXCLUDED."name"' in manual_query
@@ -434,7 +434,7 @@ class Test(ModelBase, table_name="table", primary_key="id"):
434434
435435 # Test partial force_update - only override specific fields
436436 partial_upsert = Test .upsert_sql (
437- insert_sql , exclude = {"name" }, force_update = {"created_at" }
437+ insert_sql , insert_only = {"name" }, force_update = {"created_at" }
438438 )
439439 partial_query = partial_upsert .query ()[0 ]
440440 assert '"name"=EXCLUDED."name"' not in partial_query # Excluded manually
0 commit comments