60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
from ninja import Schema
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
# 简历单条记录输出结构
|
|
class ResumeBasicOut(Schema):
|
|
id: int
|
|
resume_id: int
|
|
name: Optional[str]
|
|
job_region: Optional[str]
|
|
birthday: Optional[str]
|
|
education: Optional[str]
|
|
school: Optional[str]
|
|
expected_position: Optional[str]
|
|
last_active_time: Optional[str]
|
|
marital_status: Optional[str]
|
|
current_location: Optional[str]
|
|
age: Optional[int]
|
|
phone: Optional[str]
|
|
gender: Optional[str]
|
|
job_type: Optional[str]
|
|
job_status: Optional[str]
|
|
|
|
work_1_experience: Optional[str]
|
|
work_1_time: Optional[str]
|
|
work_1_description: Optional[str]
|
|
|
|
work_2_experience: Optional[str]
|
|
work_2_time: Optional[str]
|
|
work_2_description: Optional[str]
|
|
|
|
work_3_experience: Optional[str]
|
|
work_3_time: Optional[str]
|
|
work_3_description: Optional[str]
|
|
|
|
work_4_experience: Optional[str]
|
|
work_4_time: Optional[str]
|
|
work_4_description: Optional[str]
|
|
|
|
height: Optional[int]
|
|
weight: Optional[int]
|
|
work_years: Optional[str]
|
|
highest_education: Optional[str]
|
|
ethnicity: Optional[str]
|
|
update_time: Optional[datetime]
|
|
job_function: Optional[str]
|
|
intended_position: Optional[str]
|
|
industry: Optional[str]
|
|
expected_salary: Optional[str]
|
|
available_time: Optional[str]
|
|
job_property: Optional[str]
|
|
job_location: Optional[str]
|
|
crawl_keywords: Optional[str]
|
|
source_id: Optional[int]
|
|
|
|
# 分页响应结构
|
|
class PaginatedResumes(Schema):
|
|
count: int
|
|
items: List[ResumeBasicOut]
|