之前我将Marshmallow库与 Flask 一起使用。前段时间我尝试过 FastAPI 和Pydantic。乍一看pydantic似乎相似,masrhmallow但仔细观察却有所不同。对我来说,它们之间的主要区别是来自marshmallow. 我在 中找不到任何类似的东西pydantic。
post_load是后处理方法的装饰器。使用它我可以自己处理返回对象,可以做任何我想做的事情:
class ProductSchema(Schema):
alias = fields.Str()
category = fields.Str()
brand = fields.Str()
@post_load
def check_alias(self, params, **kwargs):
"""One of the fields must be filled"""
if not any([params.get('alias'), params.get('category'), params.get('brand')]):
raise ValidationError('No alias provided', field='alias')
return params
Run Code Online (Sandbox Code Playgroud)
此外它不仅用于验证。代码示例仅供直观理解,请勿分析,我刚刚发明的。
post_load所以我的问题是: in是否有类似的东西pydantic?
我正在尝试用 mongo+java 编写$in查询$regex。它在 mongo shell 中也不起作用。我的意思是我没有得到任何结果,但也没有查询解析错误。这是我从 Java 调试器在我所说的行得到的最终查询collection.find(finalQuery)
{"$and": [
{"$or": [
{"country": "united states"}
]},
{"businesses": {
"$in": [
{"$regex": "^.*cardinal.*health.*$"},
{"$regex": "^.*the.*hartford.*$"}
]
}}
]}
Run Code Online (Sandbox Code Playgroud)
上述查询的 Java 代码片段:
{"$and": [
{"$or": [
{"country": "united states"}
]},
{"businesses": {
"$in": [
{"$regex": "^.*cardinal.*health.*$"},
{"$regex": "^.*the.*hartford.*$"}
]
}}
]}
Run Code Online (Sandbox Code Playgroud)
但是,以下查询在 mongo shell 中有效,但我不知道如何将其写入 java:
{"registering_organization": {
"$in": [
/^.*cardinal.*health.*$/,
/^.*the.*hartford.*$/
]
}}
Run Code Online (Sandbox Code Playgroud)
如果我们尝试将正则表达式定义为字符串,Java 代码会在正则表达式周围添加双引号。
我正在编写一个电报机器人,它将与用户通信并向他发送 url 结果。我想实现内联按钮,该按钮将为copy to clipboard用户提供功能。我想要它,因为通过上下文菜单复制文本有点长而且不那么直观。
据我了解,我无法通过服务器端代码(通过Python)来做到这一点。所以我认为唯一的解决方案是使用 Telegram 功能(机器人的 API 和 Telegram 本身)。但我找不到任何。
我在 stackoverflow 上只找到了这个答案。它描述了长按Mono字体可以复制文本。它确实:
但在我看来,没有办法使链接可复制 - 它总是变成链接。
有人能建议一些有用的东西吗?
python ×3
telegram ×2
telegram-bot ×2
java ×1
mongodb ×1
pydantic ×1
regex ×1
telegram-api ×1
telethon ×1