【发布时间】:2021-12-03 22:14:55
【问题描述】:
我使用一个有效的 API 端点来创建单个用户。
@app.post("/entity/", response_model=List[schemas.User])
def create_user(user: schemas.User, db: Session = Depends(get_db)):
crud.create_user(db=db, user=user)
return JSONResponse(content={"message": "user created successfully"})
class User(BaseModel):
id: str = Field(default_factory=generate_id)
first_name: Optional[str] = ""
last_name: Optional[str] = ""
username: str
class Config:
orm_mode = True
def create_user(db: Session, user: schemas.User):
db_item = models.User(**user.dict())
db.add(db_item)
db.commit()
db.refresh(db_item)
return db_item
这可行,但我想通过一个 api 请求创建多个用户。
我猜create_user 函数看起来应该是这样的:
def create_user(db: Session, data, user: schemas.User):
objects = []
for user in data:
db_item = models.User(**user.dict())
objects.append(dbitem)
db.bulk_save_objects(objects)
db.commit()
我只是不知道创建这种bulkinsert的正确方法是什么
【问题讨论】:
标签: sqlalchemy fastapi