Initialisieren Sie das pydantische Literal aus einem Array von Zeichenfolgen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Initialisieren Sie das pydantische Literal aus einem Array von Zeichenfolgen

by Guest » 28 Dec 2024, 18:25

Ich möchte ein pydantisches Literal aus einem Array von Zeichenfolgen initialisieren

Code: Select all

from typing import Literal
from pydantic import BaseModel

CLASS_NAME_VALUES = ["primary", "secondary", "success", "danger", "warning", "info", "dark"]
ICON_NAME_VALUES = ["electricity.svg", "water.svg",
"internet.svg", "naturalGas.svg", "noCategory.svg"]

class CategoryRequest(BaseModel):
class_name: Literal[CLASS_NAME_VALUES]
icon_name: Literal[ICON_NAME_VALUES]

Aber ich erhalte die folgende Fehlermeldung

Code: Select all

  File "pydantic/main.py", line 252, in pydantic.main.ModelMetaclass.__new__
File "pydantic/fields.py", line 309, in pydantic.fields.ModelField.infer
File "pydantic/fields.py", line 271, in pydantic.fields.ModelField.__init__
File "pydantic/fields.py", line 351, in pydantic.fields.ModelField.prepare
File "pydantic/fields.py", line 529, in pydantic.fields.ModelField.populate_validators
File "pydantic/validators.py", line 566, in find_validators
File "pydantic/validators.py", line 410, in pydantic.validators.make_literal_validator
TypeError: unhashable type: 'list'
Irgendwelche Vorschläge?

Top