Commit 6a2dfbb8

Konnor-Young <97478325+Konnor-Young@users.noreply.github.com>
2025-04-23 07:24:20
fix(pydantic v1): more robust `ModelField.annotation` check (#2163)
--------- Co-authored-by: Konnor Young <konnoryoung@ip-192-168-1-39.us-west-1.compute.internal> Co-authored-by: Robert Craigie <robert@craigie.dev>
1 parent 7de6c5c
Changed files (1)
src
openai
src/openai/_models.py
@@ -651,8 +651,8 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
                 # Note: if one variant defines an alias then they all should
                 discriminator_alias = field_info.alias
 
-                if field_info.annotation and is_literal_type(field_info.annotation):
-                    for entry in get_args(field_info.annotation):
+                if (annotation := getattr(field_info, 'annotation', None)) and is_literal_type(annotation):
+                    for entry in get_args(annotation):
                         if isinstance(entry, str):
                             mapping[entry] = variant