Я пытаюсь добавить коллекцию с вложенными объектами в базу данных. Примитивные типы данных, такие как int, string, float, отлично работают при вставке документа. Но у меня возникают проблемы при вставке, который имеет пользовательский тип данных PastProjects. Любые предложения о том, как это реализовать?
class PastProjects(BaseModel):
project: str
worked_hours: int
class CurrentProjects(BaseModel):
project: str
allocation: List[int] = []
class Employee(BaseModel):
employee_id: int
company_id: str # e-mail id
employee_name: str
designation: str
skills: List[str] = None
past_projects: List[PastProjects] = None
current_projects: List[CurrentProjects] = None
availability: List[int] = []
is_allocated: bool
@app.post("/add-employee")
def create_employee(employee: Employee):
collection.insert_one({
"employee_id": employee.employee_id,
"company_id": employee.company_id,
"employee_name": employee.employee_name,
"designation": employee.designation,
"skills": employee.skills,
# "past_projects": employee.past_projects,
# "current_projects": employee.current_projects,
"availability": employee.availability,
"is_allocated": employee.is_allocated
})
collection.insert_one(dict(employee))
return employee