datamodel-code-generator
datamodel-code-generator copied to clipboard
An unquoted `false` value in an enum of string type generates a python boolean enum option
trafficstars
Describe the bug
An unquoted false value in an enum of string type generates a python boolean enum option.
To Reproduce
Example schema:
intersection_type:
type: string
enum:
- regular
- false
- dead-end
- fork
Generated model:
class IntersectionType(str, Enum):
regular = "regular"
false = False
dead_end = "dead-end"
fork = "fork"
Expected:
class IntersectionType(str, Enum):
regular = "regular"
false = "false"
dead_end = "dead-end"
fork = "fork"
Used commandline:
$ datamodel-codegen -i valhalla.yaml -o valhalla.py
Expected behavior
A string constant "false" is used as enum value.
Version:
- OS: Ubuntu 24.04.2 LTS
- Python version: Python 3.12.3
- datamodel-code-generator version: 0.28.2
Additional context Example schema: https://github.com/Rallista/valhalla-openapi-models-kotlin/blob/main/client/openapi.yaml