小编Nav*_*een的帖子

电话号码的 pydantic 自定义数据类型:value_error.missing

用户的 mysql 模式

user_id     binary(16) 
first_name  varchar(32) 
last_name   varchar(32) 
email       varchar(255)
phone       varchar(32) 
role        enum('member','admin','operator')
created_on  datetime
updated_on  datetime
id   varchar(32)
Run Code Online (Sandbox Code Playgroud)

我的 pydantic 模型是

class UserPatchEntity(BaseModel):
    user_id: Optional[UUID]
    first_name: Optional[str] = Field(min_length=1, max_length=32)
    last_name: Optional[str] = Field(min_length=1, max_length=32)
    email: Optional[EmailStr]
    phone: Optional[Phone]---------------> HERE
    role:  Optional[RoleType]
Run Code Online (Sandbox Code Playgroud)

我想为电话号码创建一个自定义数据类型...这样我可以在多个地方使用它...我正在尝试如下

class Phone(BaseModel):
    phone: str
    @validator('phone')
    def phone_validation(cls, v):
        phone = v.phone.get("phone")
        logger.debug(f"phone in 2 validator:{v}")
        regex = r"^(\+)[1-9][0-9\-\(\)\.]{9,15}$"
        if v and not re.search(regex, v, re.I):
            raise ValueError("Phone Number Invalid.")
        return v
    class Config:
        orm_mode …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy pydantic

4
推荐指数
1
解决办法
7091
查看次数

ResumeThread 在这种特殊情况下不起作用

平台:windows 64位

语言 : c

我有一个创建 2 个线程的主程序

  1. 后台线程
  2. 线程1

Thread1 正在执行 function1(在循环中打印名称 100 次,每次打印之间的睡眠时间为 10 分钟)。第一次打印后,休眠10分钟。

现在后台线程将挂起 Thread1 并更改其上下文以执行 function2(GetThreadContext、更改 Rip、SetThreadContext)并恢复 Thread1。

Function2 的逻辑是打印 1 到 100 之间的数字。

理想情况下,我希望 Thread1 在从后台线程恢复后立即运行 function2...因为 Rip 指向 function2 而不是 Sleep。

但是直到 10 分钟的睡眠时间过后,线程 1 才会运行......如果我在这里遗漏了什么,请告诉我。

我被困在这里好几天了......

c windows multithreading

0
推荐指数
1
解决办法
518
查看次数

标签 统计

c ×1

multithreading ×1

pydantic ×1

python ×1

sqlalchemy ×1

windows ×1