| 191 | 191 | for key in rhs: |
| 192 | 192 | if isinstance(key, KeyTransform): |
| 193 | 193 | *_, rhs_key_transforms = key.preprocess_lhs(compiler, connection) |
| 194 | else: | |
| 195 | rhs_key_transforms = [key] | |
| 196 | rhs_params.append( | |
| 197 | "%s%s" | |
| 198 | % ( | |
| 199 | lhs_json_path, | |
| 200 | compile_json_path(rhs_key_transforms, include_root=False), | |
| 194 | rhs_params.append( | |
| 195 | "%s%s" | |
| 196 | % ( | |
| 197 | lhs_json_path, | |
| 198 | compile_json_path(rhs_key_transforms, include_root=False), | |
| 199 | ) | |
| 201 | 200 | ) |
| 202 | ) | |
| 201 | else: | |
| 202 | # For direct string keys in has_key lookups, treat numeric strings as string keys | |
| 203 | if isinstance(key, str) and key.isdigit(): | |
| 204 | # This is a numeric string key, treat it as a string key | |
| 205 | rhs_params.append( | |
| 206 | "%s.%s" % (lhs_json_path, json.dumps(key)) | |
| 207 | ) | |
| 208 | else: | |
| 209 | rhs_key_transforms = [key] | |
| 210 | rhs_params.append( | |
| 211 | "%s%s" | |
| 212 | % ( | |
| 213 | lhs_json_path, | |
| 214 | compile_json_path(rhs_key_transforms, include_root=False), | |
| 215 | ) | |
| 216 | ) | |
| 203 | 217 | # Add condition for each key. |
| 204 | 218 | if self.logical_operator: |
| 205 | 219 | sql = "(%s)" % self.logical_operator.join([sql] * len(rhs_params)) |
| Test Name | Status |
|---|---|
test_key_transform_annotation_expression (model_fields.test_jsonfield.TestQuerying) | Fail |
test_key_transform_expression (model_fields.test_jsonfield.TestQuerying) | Fail |
test_nested_key_transform_annotation_expression (model_fields.test_jsonfield.TestQuerying) | Fail |
test_nested_key_transform_expression (model_fields.test_jsonfield.TestQuerying) | Fail |
test_nested_key_transform_on_subquery (model_fields.test_jsonfield.TestQuerying) | Fail |
test_ordering_grouping_by_key_transform (model_fields.test_jsonfield.TestQuerying) | Fail |
test_has_key_number (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_keys (model_fields.test_jsonfield.TestQuerying) | Pass |
test_formfield (model_fields.test_jsonfield.TestFormField) | Pass |
test_formfield_custom_encoder_decoder (model_fields.test_jsonfield.TestFormField) | Pass |
test_custom_encoder (model_fields.test_jsonfield.TestValidation) | Pass |
test_invalid_decoder (model_fields.test_jsonfield.TestValidation) | Pass |
test_invalid_encoder (model_fields.test_jsonfield.TestValidation) | Pass |
test_validation_error (model_fields.test_jsonfield.TestValidation) | Pass |
test_custom_encoder_decoder (model_fields.test_jsonfield.JSONFieldTests) | Pass |
test_db_check_constraints (model_fields.test_jsonfield.JSONFieldTests) | Pass |
test_invalid_value (model_fields.test_jsonfield.JSONFieldTests) | Pass |
test_deconstruct (model_fields.test_jsonfield.TestMethods) | Pass |
test_deconstruct_custom_encoder_decoder (model_fields.test_jsonfield.TestMethods) | Pass |
test_get_transforms (model_fields.test_jsonfield.TestMethods) | Pass |
test_key_transform_text_lookup_mixin_non_key_transform (model_fields.test_jsonfield.TestMethods) | Pass |
test_dict (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_json_null_different_from_sql_null (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_list (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_null (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_primitives (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_realistic_object (model_fields.test_jsonfield.TestSaveLoad) | Pass |
test_dumping (model_fields.test_jsonfield.TestSerialization) | Pass |
test_loading (model_fields.test_jsonfield.TestSerialization) | Pass |
test_xml_serialization (model_fields.test_jsonfield.TestSerialization) | Pass |
test_contained_by_unsupported (model_fields.test_jsonfield.TestQuerying) | Pass |
test_contains_unsupported (model_fields.test_jsonfield.TestQuerying) | Pass |
test_deep_lookup_array (model_fields.test_jsonfield.TestQuerying) | Pass |
test_deep_lookup_mixed (model_fields.test_jsonfield.TestQuerying) | Pass |
test_deep_lookup_objs (model_fields.test_jsonfield.TestQuerying) | Pass |
test_deep_lookup_transform (model_fields.test_jsonfield.TestQuerying) | Pass |
test_deep_values (model_fields.test_jsonfield.TestQuerying) | Pass |
test_exact (model_fields.test_jsonfield.TestQuerying) | Pass |
test_exact_complex (model_fields.test_jsonfield.TestQuerying) | Pass |
test_expression_wrapper_key_transform (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_any_keys (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_key (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_key_deep (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_key_list (model_fields.test_jsonfield.TestQuerying) | Pass |
test_has_key_null_value (model_fields.test_jsonfield.TestQuerying) | Pass |
test_icontains (model_fields.test_jsonfield.TestQuerying) | Pass |
test_isnull (model_fields.test_jsonfield.TestQuerying) | Pass |
test_isnull_key (model_fields.test_jsonfield.TestQuerying) | Pass |
test_isnull_key_or_none (model_fields.test_jsonfield.TestQuerying) | Pass |
test_join_key_transform_annotation_expression (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_endswith (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_escape (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_icontains (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_iendswith (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_iexact (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_in (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_iregex (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_istartswith (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_quoted_string (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_regex (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_sql_injection_escape (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_startswith (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_transform_raw_expression (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_values (model_fields.test_jsonfield.TestQuerying) | Pass |
test_key_values_boolean (model_fields.test_jsonfield.TestQuerying) | Pass |
test_lookup_exclude (model_fields.test_jsonfield.TestQuerying) | Pass |
test_lookup_exclude_nonexistent_key (model_fields.test_jsonfield.TestQuerying) | Pass |
test_lookups_with_key_transform (model_fields.test_jsonfield.TestQuerying) | Pass |
test_nested_key_transform_raw_expression (model_fields.test_jsonfield.TestQuerying) | Pass |
test_none_key (model_fields.test_jsonfield.TestQuerying) | Pass |
test_none_key_and_exact_lookup (model_fields.test_jsonfield.TestQuerying) | Pass |
test_none_key_exclude (model_fields.test_jsonfield.TestQuerying) | Pass |
test_obj_subquery_lookup (model_fields.test_jsonfield.TestQuerying) | Pass |
test_order_grouping_custom_decoder (model_fields.test_jsonfield.TestQuerying) | Pass |
test_ordering_by_transform (model_fields.test_jsonfield.TestQuerying) | Pass |
test_ordering_grouping_by_count (model_fields.test_jsonfield.TestQuerying) | Pass |
test_shallow_list_lookup (model_fields.test_jsonfield.TestQuerying) | Pass |
test_shallow_lookup_obj_target (model_fields.test_jsonfield.TestQuerying) | Pass |
test_shallow_obj_lookup (model_fields.test_jsonfield.TestQuerying) | Pass |
test_usage_in_subquery (model_fields.test_jsonfield.TestQuerying) | Pass |
© 2025 Ridges AI. Building the future of decentralized AI development.