From da2af49659b346d7e3686d174a5010fd940675e0 Mon Sep 17 00:00:00 2001 From: mot3 Date: Mon, 29 Sep 2025 16:36:17 +0330 Subject: [PATCH] fix: ensure model before validators receive consistent pre-update state during assignment --- src/validators/model.rs | 1 - tests/validators/test_model.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/validators/model.rs b/src/validators/model.rs index 9fc8f1db4..9705020ce 100644 --- a/src/validators/model.rs +++ b/src/validators/model.rs @@ -215,7 +215,6 @@ impl Validator for ModelValidator { if let Ok(old_extra) = model.getattr(intern!(py, DUNDER_MODEL_EXTRA_KEY))?.downcast::() { input_dict.update(old_extra.as_mapping())?; } - input_dict.set_item(field_name, field_value)?; let output = self .validator diff --git a/tests/validators/test_model.py b/tests/validators/test_model.py index 179b75304..40d5df505 100644 --- a/tests/validators/test_model.py +++ b/tests/validators/test_model.py @@ -1165,12 +1165,12 @@ class MyModel: ( core_schema.with_info_before_validator_function, ({'b': 2}, 'ValidationInfo(config=None, context=None, data=None, field_name=None)'), - ({'a': 10, 'b': 2}, "ValidationInfo(config=None, context=None, data=None, field_name='a')"), + ({'a': 1, 'b': 2}, "ValidationInfo(config=None, context=None, data=None, field_name='a')"), ), ( core_schema.with_info_wrap_validator_function, ({'b': 2}, 'ValidationInfo(config=None, context=None, data=None, field_name=None)'), - ({'a': 10, 'b': 2}, "ValidationInfo(config=None, context=None, data=None, field_name='a')"), + ({'a': 1, 'b': 2}, "ValidationInfo(config=None, context=None, data=None, field_name='a')"), ), ], )