我试图插入一个来自BeanieODM的文档,但没有字段“无”值,但我找不到方法
@router.post('/signup')
async def signup(
request: Request,
user_create: SignupSchema
):
hashed_password = get_password_hash(user_create.password)
user_entity = UserEntity(**user_create.dict(), hashed_password=hashed_password)
result = await user_entity.insert()
if not result:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail=f"Error creating user",
headers={"WWW-Authenticate": "Bearer"}
)
return JSONResponse(status_code=status.HTTP_201_CREATED,
content={"detail": "Account created successfully"})
类似于user_create.dict(exclude_none=True)
,但使用BeanieODM文档.insert()
,我的UserEntity文档类似于以下内容:
from typing import Optional
from beanie import Document
class UserEntity(Document):
username: str
email: EmailStr
first_name: Optional[str]
last_name: Optional[str]
hashed_password: str
class Settings:
name = "users"
我不想在数据库中的字段first_name
/last_name
,如果他们没有一个值。应该有一些方法使豆豆ODM文件的字段可选的权利?
1条答案
按热度按时间gdrx4gfi1#
目前似乎不支持。
https://github.com/roman-right/beanie/discussions/322