Skip to content

request -> pydantic 할당 #61

@rodzlen

Description

@rodzlen
query_params = {
            "city": request.GET.getlist("city"),
            "district": request.GET.getlist("district"),
            "town": request.GET.getlist("town"),
            "work_day": request.GET.getlist("work_day"),
            "posting_type": request.GET.getlist("posting_type"),
            "employment_type": request.GET.getlist("employment_type"),
            "education": request.GET.get("education"),
            "search": request.GET.get("search"),
        }
class JobPostingSearchQueryModel(BaseModel):
    model_config = MY_CONFIG

    city: List[str] = Field(default_factory=list)
    district: List[str] = Field(default_factory=list)
    town: List[str] = Field(default_factory=list)
    work_day: List[str] = Field(default_factory=list)
    posting_type: List[str] = Field(default_factory=list)
    employment_type: List[str] = Field(default_factory=list)
    education: Optional[str] = ""
    search: Optional[str] = ""
query = JobPostingSearchQueryModel(**query_params)

request를 바로 할당하는 객체를 인자로 넘겼을 때 mypy에서 arg-type 에러 발생하는 문제

Argument 1 to "JobPostingSearchQueryModel" has incompatible type "**dict[str, list[str] | str | None]"; expected "list[str]"  [arg-type]
Argument 1 to "JobPostingSearchQueryModel" has incompatible type "**dict[str, list[str] | str | None]"; expected "dict[Any, Any] | None"  [arg-type]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions