Allowing manufacturer urls to be null
This commit is contained in:
1 parent
16ba09f073
commit
90cae15551
5 files changed
+60
-5
No files matched your search
@@ -1,4 +1,10 @@
|
||||
from pydantic import BaseModel, ConfigDict, HttpUrl
|
||||
from pydantic import BaseModel, ConfigDict, HttpUrl, field_validator
|
||||
|
||||
|
||||
def _blank_to_none(value: str | None) -> str | None:
|
||||
if isinstance(value, str) and not value.strip():
|
||||
return None
|
||||
return value
|
||||
|
||||
|
||||
class ManufacturerBase(BaseModel):
|
||||
@@ -6,6 +12,10 @@ class ManufacturerBase(BaseModel):
|
||||
url: HttpUrl | None = None
|
||||
logo_url: HttpUrl | None = None
|
||||
|
||||
_normalize_url = field_validator("url", "logo_url", mode="before")(
|
||||
_blank_to_none
|
||||
)
|
||||
|
||||
|
||||
class ManufacturerCreate(ManufacturerBase):
|
||||
pass
|
||||
@@ -16,6 +26,10 @@ class ManufacturerUpdate(BaseModel):
|
||||
url: HttpUrl | None = None
|
||||
logo_url: HttpUrl | None = None
|
||||
|
||||
_normalize_url = field_validator("url", "logo_url", mode="before")(
|
||||
_blank_to_none
|
||||
)
|
||||
|
||||
|
||||
class ManufacturerRead(ManufacturerBase):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
Reference in new issue
Block a user