prs_server/crud/crud_jobs.py

46 lines
1.4 KiB
Python

from motor.motor_asyncio import AsyncIOMotorDatabase
import schemas
from crud.base import CRUDBase
__all__ = 'jobs',
class CRUDJobs(CRUDBase):
# 获取所有对应职位字段的数据
async def all_field(self, db: AsyncIOMotorDatabase):
return await self.find_many(db, {})
# 获取所有对应条件职位字段的数据
async def all_fields(self, db: AsyncIOMotorDatabase, data_in: schemas.Jobs):
if data_in == None:
return await self.find_many(db, {}, {'_id': 0})
else:
where = {}
data_dict = data_in.dict()
for k, v in data_dict.items():
if v != None:
where[k] = v
return await self.find_many(db, where, {'_id': 0})
# 修改职位的数据
async def update_job(self, db: AsyncIOMotorDatabase, data_in: schemas.Jobs):
update = {}
data_dict = data_in.dict()
for k, v in data_dict.items():
if v != None and k != 'job_id':
update[k] = v
await self.update_one(db, {'job_id': data_in.job_id}, {'$set': update})
# 插入一条新的职位数据
async def insert_job(self, db: AsyncIOMotorDatabase, data_in: schemas.Ins_Job):
await self.insert_one(db, data_in.dict())
# 获取对应jobid的信息
async def find_job(self, db: AsyncIOMotorDatabase, job_id):
return await self.find_one(db, {'job_id':job_id})
jobs = CRUDJobs('jobs')