46 lines
1.4 KiB
Python
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')
|