小编dat*_*ews的帖子

sqlalchemy python 未使用的列名

我在使用 SQLAlchemy 时遇到以下错误:Unconsumed column names: company

我想插入 1 个特定列的数据,而不是表中的所有列:INSERT INTO customers (company) VALUES ('sample name');

我的代码:

engine.execute(table('customers').insert().values({'company': 'sample name'}))
Run Code Online (Sandbox Code Playgroud)

创建表:

'CREATE TABLE `customers` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `company` varchar(255) DEFAULT NULL,
  `first_name` varchar(255) DEFAULT NULL,
  `last_name` varchar(255) DEFAULT NULL,
  `phone` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  UNIQUE KEY `company_UNIQUE` (`company`)
) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8'
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

10
推荐指数
2
解决办法
1万
查看次数

pydantic 去除空白

我正在尝试删除名字和姓氏字段以及电子邮件字段上的空格。我无法让它工作。

from pydantic import BaseModel, UUID4, SecretStr, EmailStr, constr

class UserCreate(BaseModel):
    email: EmailStr[constr(strip_whitespace=True)]
    password: SecretStr[constr(strip_whitespace=True)]
    first_name: str[constr(strip_whitespace=True)]
    last_name: str[constr(strip_whitespace=True)]
Run Code Online (Sandbox Code Playgroud)

python python-3.x pydantic fastapi

7
推荐指数
2
解决办法
6938
查看次数

动态转换python数据类型

我有一个用例,我正在从 API 调用中读取一些数据,但需要在将数据插入数据库之前对其进行转换。数据采用整数格式,我需要将其保存为字符串。数据库不提供数据类型转换,因此在插入之前需要在 Python 中进行转换。

在配置文件中我有这样的:

config = {"convert_fields": ["payment", "cash_flow"], "type": "str"}
Run Code Online (Sandbox Code Playgroud)

然后在 python 中,我使用该eval()函数来检查将字段转换为什么类型。

所以代码最终就像data['field'] = eval(config['type'])(data['field'])

有谁有更好的建议我如何动态更改这些值,也许无需将 python 类类型存储在配置文件中。

要补充的是,我当然可以这样做str(),但可能需要在某个时候转换其他字段,这些字段不是字符串。所以我希望它是动态的,无论配置文件中为所需的转换字段定义了什么。

python

7
推荐指数
1
解决办法
1231
查看次数

如何使用 FastAPI 更改默认的 Pydantic 错误消息?

有什么办法可以改变 Pydantic 的默认响应"msg""message"

{
    "detail": [
        {
            "loc": [
                "body",
                "password"
            ],
            "msg": "Password should at least 8 characters long.",
            "type": "value_error"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

python pydantic fastapi

7
推荐指数
1
解决办法
2万
查看次数

即使其中一个验证器失败,如何检查所有 Pydantic 验证器,然后在 FastAPI 响应中引发多个 ValueError?

是否可以调用所有验证器来获取完整的错误列表?

@validator('password', always=True)
def validate_password1(cls, value):
    password = value.get_secret_value()

    min_length = 8
    if len(password) < min_length:
        raise ValueError('Password must be at least 8 characters long.')

    return value

@validator('password', always=True)
def validate_password2(cls, value):
    password = value.get_secret_value()

    if not any(character.islower() for character in password):
        raise ValueError('Password should contain at least one lowercase character.')

    return value
Run Code Online (Sandbox Code Playgroud)

当前的行为似乎一次调用一个验证器。

我的 Pydantic 课程:

class User(BaseModel):
    email: EmailStr
    password: SecretStr
Run Code Online (Sandbox Code Playgroud)

如果我没有在请求中包含email, 或password, 字段,那么我会在数组中得到两个验证失败,这就是我想要对该字段执行的操作password,但当前的行为似乎调用了一个,如果失败则抛出立即出现错误。

python python-3.x pydantic fastapi

7
推荐指数
1
解决办法
7201
查看次数

AWS ECR 用户无权对资源执行:ecr-public:GetAuthorizationToken:*

当我尝试检索身份验证令牌并向注册表验证 Docker 客户端时,我遇到以下问题:

user is not authorized to perform: ecr-public:GetAuthorizationToken on resource: *
Run Code Online (Sandbox Code Playgroud)

我能够将图像推送到我的私人存储库,没有任何问题。我正在使用 EC2 ubuntu 映像来执行 AWS 仪表板中找到的这些推送命令。我确保用户具有角色:AmazonEC2ContainerRegistryFullAccess

amazon-ec2 amazon-web-services amazon-ecr

6
推荐指数
2
解决办法
1万
查看次数

aws cognito 注销时使令牌无效

我无法弄清楚这个问题,但我知道 JWT 令牌是自包含的,有自己的过期时间。通常,黑名单可能包含“过期”令牌,并且如果该令牌列在其中,则阻止访问路由。

我想知道,如果使用 aws cognito 并调用注销端点,实际上是否会将 aws 端的 JWT 令牌列入黑名单?有一个访问令牌和一个刷新令牌,因此两者都会失效,还是用户仍然可以使用该令牌登录,直到达到令牌的过期时间?

amazon-web-services amazon-cognito

5
推荐指数
1
解决办法
8102
查看次数

保持mat-menu开放角度

我试图在菜单中使用复选框选项,但我需要保持菜单打开,直到用户选择完选项.我正在使用最新版本的Angular.先感谢您!

在此输入图像描述

我已经联合嵌套垫菜单,这里有复选框:

我尝试了什么,但选中一个复选框后菜单关闭:

<mat-menu #worldtest="matMenu" md-prevent-menu-close="md-prevent-menu-close">
     <section><mat-checkbox class="example-margin" [(ngModel)]="checked">Checked</mat-checkbox></section>
     <section><mat-checkbox class="example-margin" [(ngModel)]="indeterminate">Indeterminate</mat-checkbox></section>
</mat-menu>
Run Code Online (Sandbox Code Playgroud)

angular-material angular

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

由于数据类型不匹配 PySpark 无法解析列

PySpark 中遇到的错误:

pyspark.sql.utils.AnalysisException: "cannot resolve '`result_set`.`dates`.`trackers`['token']' due to data type mismatch: argument 2 requires integral type, however, ''token'' is of string type.;;\n'Project [result_parameters#517, result_set#518, <lambda>(result_set#518.dates.trackers[token]) AS result_set.dates.trackers.token#705]\n+- Relation[result_parameters#517,result_set#518] json\n"
Run Code Online (Sandbox Code Playgroud)

数据结构:

-- result_set: struct (nullable = true)
 |    |-- currency: string (nullable = true)
 |    |-- dates: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- date: string (nullable = true)
 |    |    |    |-- trackers: array (nullable = true)
 |    |    |    | …
Run Code Online (Sandbox Code Playgroud)

python pyspark

3
推荐指数
1
解决办法
3万
查看次数

设置属性值 selenium python

在此处输入图片说明

在本例中,这是一个数据库表,它根据您选择显示的记录数量动态变化。我正在创建一个脚本,它运行在每一行中以获取数据,但是,如果您进入特定记录或刷新页面,则视图每次都会重置为第 1 页。例如,如果您在第 5 页并点击刷新,页面会将视图刷新到第 1 页。

我的解决方法是传入 500 的值,然后选择值为 500 的选项。这将增加结果以在一页上显示所有内容,这样我就不必刷新页面。

我正在尝试访问选项值 50 以将其更改为值 500。然后我将使用该.click()方法将视图更改为该值。

我尝试使用这种方式但没有运气。

driver.execute_script("document.getElementById('dt_a_length').getElementsByTagName('option').setAttribute('value', '500')")
Run Code Online (Sandbox Code Playgroud)

我将不胜感激。谢谢!

python selenium python-3.x

2
推荐指数
1
解决办法
1万
查看次数

垫式onclick事件功能

想知道是否有可能发生“垫式踏步”按钮的点击事件。对于每个垫步按钮,我想添加一个(click)调用的事件method。换句话说,垫步按钮的作用类似于常规按钮。

这是基本步骤:https : //material.angular.io/components/stepper/overview

这是我的代码:

<mat-step>
<ng-template matStepLabel (click) = "createView()">Output</ng-template>
</mat-step>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

模板解析错误:嵌入式模板上的任何指令都不会发出事件绑定单击。确保事件名称拼写正确,并且所有指令均在“ @ NgModule.declarations”中列出。(“ eateView()”>输出->

typescript angular-material angular

2
推荐指数
1
解决办法
5676
查看次数

vuejs 3 多个插件

如何在 vuejs 3 中使用多个插件?

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';

createApp(App).use(router, axios, Antd).mount('#app')
Run Code Online (Sandbox Code Playgroud)

在 中Main.js,这似乎导入了 router 和 axios,但没有导入 Antd。如果我取下路由器和 axios 那么我可以看到 antd 组件。我怎样才能把所有东西都带进来?

vue.js vuejs2 vuejs3

2
推荐指数
1
解决办法
3026
查看次数

python日期时间格式混乱

如果我错了,请纠正我,但假设我们有日期:

Wed, 27 Jun 2018 11:20:33 -0500
Run Code Online (Sandbox Code Playgroud)

如果我们使用 python 中的日期时间来转换这个 ( datetime.datetime.strptime('Wed, 27 Jun 2018 11:20:33 -0500', '%a, %d %b %Y %H:%M:%S %z')),这会生成一个比 UTC 大 1 小时的时间,即 12:20:33。但是,实际上这不应该是 UTC-5(减去 5 小时)。我正在采用这种存储在 XML 文件中的日期格式。其中许多在时间戳的末尾都有 -0500 或 +0000。我在这里错过了什么吗?

import datetime
dt = datetime.datetime.strptime('Wed, 27 Jun 2018 11:20:33 -0500',
                                 '%a, %d %b %Y %H:%M:%S %z')
print(dt.timestamp())

print(datetime.datetime.fromtimestamp(int(dt.timestamp())).strftime('%Y-%m-%d %H:%M:%S'))
Run Code Online (Sandbox Code Playgroud)

python timezone datetime python-3.x

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