【问题标题】:Why I cannot create standalone object of HttpURL in pydantic?为什么我不能在 pydantic 中创建独立的 HttpURL 对象?
【发布时间】:2022-06-12 04:05:23
【问题描述】:
from pydantic import BaseModel, Field, HttpUrl
from typing import Optional

class TestClass(BaseModel):
    url:Optional[HttpUrl] = None

使用 url="https://www.test.com" 创建对象 TestClass 有效。

这里导入的 HttpUrl 或 BaseModel 是类。当我尝试独立创建 httpurl 对象时,它会给出类型错误,例如下面。

from pydantic import HttpUrl

myurl = HttpUrl("https://www.test.com")
    

为什么不能像上面那样将字符串转换为 http 对象。结果 错误,例如:如果提供了仅关键字参数,则需要 2 个位置提供 3

【问题讨论】:

  • 请包含完整的回溯错误。

标签: python-3.x object pydantic


【解决方案1】:

pydantic 类型仅在用作类变量时才有效。

在底层,pydantic fires 验证 AnyUrl 类的方法。

也许使用来自urrlib 库的内置函数?

from urllib.parse import urlparse
myurl = urlparse("https://www.test.com")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    相关资源
    最近更新 更多