sql - 如何从 <
我需要创建一个 linux 脚本,在这个脚本中我需要捕获 Oracle 中的 SQL 查询的结果,<<EOF
并将其放入一个变量中,例如:
sqlplus -s /nolog<<EOF
conn c##myuser/mypassowd
col
问题描述
我需要创建一个 linux 脚本,在这个脚本中我需要捕获 Oracle 中的 SQL 查询的结果,<<EOF
并将其放入一个变量中,例如:
sqlplus -s /nolog<<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
我需要将 SQL 查询的结果放入 bash 变量中,我该怎么做?
Django model.field 验证器不会为必需的布尔字段执行
我的用例:
我有一个用户必须回答的是/否问题,但他们可能会回答是或否。我不想提供默认值,因为我需要用户主动选择他们的答案。如果他们没有选择答案,我想要一个表单验证错误,例如“此字段是必需的”。
我知道可以将其作为 CharField 存储在数据库中,但我更愿意将其存储为必需的 BooleanField。问题似乎是表单验证逻辑不会强制要求布尔字段为 required=True,也不会在 POST 数据中返回 '' 值时调用模型字段的自定义验证器。
我的设置:
boolean_choices = (
(True, 'Yes'),
(False, 'No'),
)
def boolean_validator(value):
if value is not True and value is not False:
raise ValidationError("This field is required.")
class Item(models.Model):
accept = models.BooleanField(
choices=boolean_choices,
validators=[boolean_validator]
)
class ItemForm(ModelForm):
class Meta:
model = Item
fields = ['accept']
该问题的完整工作演示在这里:
https ://repl.it/@powderflask/django-model-form-validators
重现问题
创建或编辑一个项目,并将 'accept' 值设置为 None ("-------") --> 保存将崩溃 - 通知 form.is_valid() 已通过,崩溃在 form.save() - -> 注意 boolean_validator 没有被调用。
创建或编辑项目并选择“是”或“否”-> 保存将正常工作,您可以在终端中看到 boolean_validator DID 被调用。
我的怀疑
我怀疑在表单验证逻辑的深处有一个布尔字段的特殊情况,它通常是一个复选框(它有一个讨厌的习惯,即在未检查时不返回任何 POST 数据中的任何内容)。我怀疑很难区分“复选框未勾选,因此为 False”和“未返回值,因此引发RequiredField ValidationError),并且表单验证没有正确处理我的用例。
我的问题
我在这里做了一些无可救药的蠢事吗?我错过了什么吗?我应该放弃去洗个热水澡吗?感谢。
解决方案
您需要一个此处的命令文档,然后将输出重定向到某个文件。
像这样的东西:
sqlplus -s /nolog > myfile.txt <<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
我自己没有方便的 sqlplus 来测试它,但上面应该是“关闭”...
这应该能够将其放入变量中:
myvar=$(sqlplus -s /nolog <<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
)
推荐阅读
- node.js - Lambda 函数导致共享访问令牌的竞争条件 | 无服务器框架 | 节点
- selenium - 在 Selenium docker grid 4 中添加实例/并发会话不起作用
- xml - 如何在csv条目中提取xml数据
- javascript - 如何在不先导入依赖项的情况下模拟依赖项?
- linux - sonarqube 服务文件很快就死了/活动:不活动(死)
- python - 如何在特定时间运行我的代码?
- git - 为什么 git 在提交时忽略我的 .gitignore 文件而不隐藏文件夹?
- javascript - 如何在 JavaScript/Canvas 中为矩形设置动画而不留下痕迹?
- javascript - 是否可以将 Angular 组件中的 html 元素设置为动态创建的组件的子组件,以便它打开 mat-menu?
- angular - Angular test .spec.ts 如何选择多个选项
我需要创建一个 linux 脚本,在这个脚本中我需要捕获 Oracle 中的 SQL 查询的结果,<<EOF
并将其放入一个变量中,例如:
sqlplus -s /nolog<<EOF
conn c##myuser/mypassowd
col
问题描述
我需要创建一个 linux 脚本,在这个脚本中我需要捕获 Oracle 中的 SQL 查询的结果,<<EOF
并将其放入一个变量中,例如:
sqlplus -s /nolog<<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
我需要将 SQL 查询的结果放入 bash 变量中,我该怎么做?
Django model.field 验证器不会为必需的布尔字段执行
我的用例:
我有一个用户必须回答的是/否问题,但他们可能会回答是或否。我不想提供默认值,因为我需要用户主动选择他们的答案。如果他们没有选择答案,我想要一个表单验证错误,例如“此字段是必需的”。
我知道可以将其作为 CharField 存储在数据库中,但我更愿意将其存储为必需的 BooleanField。问题似乎是表单验证逻辑不会强制要求布尔字段为 required=True,也不会在 POST 数据中返回 '' 值时调用模型字段的自定义验证器。
我的设置:
boolean_choices = (
(True, 'Yes'),
(False, 'No'),
)
def boolean_validator(value):
if value is not True and value is not False:
raise ValidationError("This field is required.")
class Item(models.Model):
accept = models.BooleanField(
choices=boolean_choices,
validators=[boolean_validator]
)
class ItemForm(ModelForm):
class Meta:
model = Item
fields = ['accept']
该问题的完整工作演示在这里: https ://repl.it/@powderflask/django-model-form-validators
重现问题
创建或编辑一个项目,并将 'accept' 值设置为 None ("-------") --> 保存将崩溃 - 通知 form.is_valid() 已通过,崩溃在 form.save() - -> 注意 boolean_validator 没有被调用。
创建或编辑项目并选择“是”或“否”-> 保存将正常工作,您可以在终端中看到 boolean_validator DID 被调用。
我的怀疑
我怀疑在表单验证逻辑的深处有一个布尔字段的特殊情况,它通常是一个复选框(它有一个讨厌的习惯,即在未检查时不返回任何 POST 数据中的任何内容)。我怀疑很难区分“复选框未勾选,因此为 False”和“未返回值,因此引发RequiredField ValidationError),并且表单验证没有正确处理我的用例。
我的问题 我在这里做了一些无可救药的蠢事吗?我错过了什么吗?我应该放弃去洗个热水澡吗?感谢。
解决方案
您需要一个此处的命令文档,然后将输出重定向到某个文件。
像这样的东西:
sqlplus -s /nolog > myfile.txt <<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
我自己没有方便的 sqlplus 来测试它,但上面应该是“关闭”...
这应该能够将其放入变量中:
myvar=$(sqlplus -s /nolog <<EOF
conn c##myuser/mypassowd
col product for a20
select product from myuser.table where id = 10;
EOF
)
推荐阅读
- node.js - Lambda 函数导致共享访问令牌的竞争条件 | 无服务器框架 | 节点
- selenium - 在 Selenium docker grid 4 中添加实例/并发会话不起作用
- xml - 如何在csv条目中提取xml数据
- javascript - 如何在不先导入依赖项的情况下模拟依赖项?
- linux - sonarqube 服务文件很快就死了/活动:不活动(死)
- python - 如何在特定时间运行我的代码?
- git - 为什么 git 在提交时忽略我的 .gitignore 文件而不隐藏文件夹?
- javascript - 如何在 JavaScript/Canvas 中为矩形设置动画而不留下痕迹?
- javascript - 是否可以将 Angular 组件中的 html 元素设置为动态创建的组件的子组件,以便它打开 mat-menu?
- angular - Angular test .spec.ts 如何选择多个选项