(
field: ModelField, values: Mapping[str, Any], alias: str | None = None
)
| 751 | |
| 752 | |
| 753 | def _get_multidict_value( |
| 754 | field: ModelField, values: Mapping[str, Any], alias: str | None = None |
| 755 | ) -> Any: |
| 756 | alias = alias or get_validation_alias(field) |
| 757 | if ( |
| 758 | (not _is_json_field(field)) |
| 759 | and field_annotation_is_sequence(field.field_info.annotation) |
| 760 | and isinstance(values, (ImmutableMultiDict, Headers)) |
| 761 | ): |
| 762 | value = values.getlist(alias) |
| 763 | else: |
| 764 | value = values.get(alias, None) |
| 765 | if ( |
| 766 | value is None |
| 767 | or ( |
| 768 | isinstance(field.field_info, params.Form) |
| 769 | and isinstance(value, str) # For type checks |
| 770 | and value == "" |
| 771 | ) |
| 772 | or ( |
| 773 | field_annotation_is_sequence(field.field_info.annotation) |
| 774 | and len(value) == 0 |
| 775 | ) |
| 776 | ): |
| 777 | if field.field_info.is_required(): |
| 778 | return |
| 779 | else: |
| 780 | return deepcopy(field.default) |
| 781 | return value |
| 782 | |
| 783 | |
| 784 | def request_params_to_args( |
no test coverage detected
searching dependent graphs…