我想用django-filter在我的django-graphene解析器中总结一个字段.通常我的解析器看起来像:
my_model = DjangoFilterConnectionField(
MyModelNode,
filterset_class=MyModelFilter)
def my_resolver(self, args, context, info):
return MyModelFilter(
data=format_query_args(args),
queryset=self).qs
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
但是,我想为模型过滤器提供自定义查询集,以便我可以对字段执行聚合.我正在尝试做这样的事情:
def my_resolver(self, args, context, info):
queryset = MyModel.objects.values(
'customer_id').annotate(
cost_amt=Sum('cost_amt', output_field=FloatField()))
return MyModelFilter(
data=format_query_args(args),
queryset=queryset).qs
Run Code Online (Sandbox Code Playgroud)
检查GraphiQL中的原始SQL,它看起来是正确的.但是,我从GraphQL收到的错误消息是
"message": "Received incompatible instance \"{'cost_amt': 260.36, 'customer_id': 300968697}\"."
Run Code Online (Sandbox Code Playgroud)
这是正确的结果,但我不确定为什么GraphQL从django-graphene获取此对象.如何提供自定义查询集并使其工作?
是否可以从我的系列列表中的字符串中获取x轴名称?我正在后端构建这个系列列表,并希望使用"纽约","LA"和"芝加哥"作为我的x轴类别值.
我希望"纽约","洛杉矶"和"芝加哥"作为我的x轴标签,但是,我得到-0.25到2.25.
谢谢.
http://jsfiddle.net/nicholasduffy/H7zgb/2/
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
plotOptions: {
column: {
stacking: 'normal',
dataLabels: {
enabled: false
}
}
},
series: [{
"data": [
["New York", 3570.5],
["LA", 50128.38],
["Chicago", 5281.22]
],
"name": "Stuff"
}, {
"data": [
["New York", 10140.84],
["LA", 21445.04],
["Chicago", 12957.77]
],
"name": "Junk"
}, {
"data": [
["New York", 65119.6],
["LA", 103118.6],
["Chicago", 78349.6]
],
"name": "Other Stuff"
}]
});
Run Code Online (Sandbox Code Playgroud)
});
我有一个SSRS报告,看起来像这样(包括销售等附加列),行按地区和位置分组.
这些位置的目标是每个位置的最大值,因为在我的查询中,目标显示在我正在汇总的每个销售记录上.
=Max(Fields!goal.Value)
Run Code Online (Sandbox Code Playgroud)
区域的目标是该区域组中每个位置的最大值的总和.
=Sum(max(Fields!goal.Value, "LocationName"), "region")
Run Code Online (Sandbox Code Playgroud)
前两个没有问题,但是我很难获得报告的总计,这将是每个地区总数的总和.
=Sum(Fields!goal.Value, "region")
Run Code Online (Sandbox Code Playgroud)
我不能引用区域组,因为总数在该组之外 - "对于聚合函数无效的范围参数".在这种情况下,如何获得每个区域的总和(7,000)?
Python 2.7.12
boto3 == 1.3.1
我如何添加一个步骤运行EMR集群和具有台阶后终止集群完成后,不管失败或成功?
创建群集
response = client.run_job_flow(
Name=name,
LogUri='s3://mybucket/emr/',
ReleaseLabel='emr-5.9.0',
Instances={
'MasterInstanceType': instance_type,
'SlaveInstanceType': instance_type,
'InstanceCount': instance_count,
'KeepJobFlowAliveWhenNoSteps': True,
'Ec2KeyName': 'KeyPair',
'EmrManagedSlaveSecurityGroup': 'sg-1234',
'EmrManagedMasterSecurityGroup': 'sg-1234',
'Ec2SubnetId': 'subnet-1q234',
},
Applications=[
{'Name': 'Spark'},
{'Name': 'Hadoop'}
],
BootstrapActions=[
{
'Name': 'Install Python packages',
'ScriptBootstrapAction': {
'Path': 's3://mybucket/code/spark/bootstrap_spark_cluster.sh'
}
}
],
VisibleToAllUsers=True,
JobFlowRole='EMR_EC2_DefaultRole',
ServiceRole='EMR_DefaultRole',
Configurations=[
{
'Classification': 'spark',
'Properties': {
'maximizeResourceAllocation': 'true'
}
},
],
)
Run Code Online (Sandbox Code Playgroud)
添加一个步骤
response = client.add_job_flow_steps(
JobFlowId=cluster_id,
Steps=[
{
'Name': 'Run Step',
'ActionOnFailure': 'TERMINATE_CLUSTER',
'HadoopJarStep': …
Run Code Online (Sandbox Code Playgroud) declare @xmlsample xml =
'<root>
<solution>
<solutionnumber>1</solutionnumber>
<productgroup>
<productcategory>
<price>100</price>
<title>Some product</title>
<tax>1</tax>
</productcategory>
</productgroup>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
<solution>
<solutionnumber>2</solutionnumber>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
</root>'
SELECT
--T.C.value('(./ancestor::ns1:solutionNumber)[1]', 'varchar(50)') AS solutionnumber ?? no clue
T.C.value('(price)[1]', 'numeric(18,2)') AS price
,T.C.value('(title)[1]', 'varchar(50)') AS title
,T.C.value('(tax)[1]', 'numeric(18,2)') AS tax
FROM @xmlsample.nodes('//node()[title]') AS T(C)
Run Code Online (Sandbox Code Playgroud)
我试图在SQL Server 2008 r2中粉碎的XML的表示.我找到了"标题"节点,并获取了产品类别中我需要的值.现在我想获得"解决方案编号",但是这可能是产品上方的一个或多个父节点,因为存在某些产品"组".
在找到之前,我将如何通过名称("solutionnumber")检查父节点?谢谢你的帮助.
我有一个适用于开发的应用程序,但是当我尝试使用Gunicorn运行它时,它会出现"sqlalchemy扩展未注册"的错误.从我所看到的,似乎我需要在app.app_context()
某个地方打电话,但我不知道在哪里.我该如何解决这个错误?
# run in development, works
python server.py
# try to run with gunicorn, fails
gunicorn --bind localhost:8000 server:app
AssertionError: The sqlalchemy extension was not registered to the current application. Please make sure to call init_app() first.
Run Code Online (Sandbox Code Playgroud)
server.py
:
from flask.ext.security import Security
from database import db
from application import app
from models import Studio, user_datastore
security = Security(app, user_datastore)
if __name__ == '__main__':
# with app.app_context(): ??
db.init_app(app)
app.run()
Run Code Online (Sandbox Code Playgroud)
application.py
:
from flask import Flask
app = …
Run Code Online (Sandbox Code Playgroud) 如何在GitHub问题中查看评论的降价?例如,我想查看组成此评论的Markdown:https : //github.com/jashkenas/backbone/issues/3857#issue-116738665
如何在Google智能助理中简单地显示欧元符号?每次我尝试以不同的编码获得符号.我错过了什么简单的事情?
actions-on-google SDK 2.0.1版
const { dialogflow } = require('actions-on-google')
const app = dialogflow({ debug: true })
app.intent('euro-intent', (conv) => {
console.log('€')
conv.ask('€')
})
exports.myBot = app
Run Code Online (Sandbox Code Playgroud)
我的操作是在AWS API Gateway上调用webhook,该webhook使用Node.js v 8.10连接到Lambda函数.CloudWatch日志显示
{
"payload": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "€"
}
}
]
},
"userStorage": "{\"data\":{}}"
}
},
"outputContexts": [
{
"name": "projects/newagent-9bde7/agent/sessions/1525808242247/contexts/_actions_on_google",
"lifespanCount": 99,
"parameters": {
"data": "{}"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是,我在模拟器中得到了以下内容.
我在使用http://cookiecutter-django.readthedocs.org/en/latest/创建的项目中使用Django 1.9.2和psyopg2 2.6.1与Python 3.5.0 .我有一个如下所示的数据库配置:
import environ
from django.utils.http import urlquote
env = environ.Env()
DATABASES = {
# 1) This does not work.
# 'default': env.db("DATABASE_URL",
# default="postgres://myuser:%s@127.0.0.1:5432/mydb" % "1234#abc")
# 2) This does not work.
# 'default': env.db("DATABASE_URL",
# default="postgres://myuser:%s@127.0.0.1:5432/mydb" % urlquote("1234#abc"))
# 3) This works
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': '1234#abc',
'PORT': 5432,
'HOST': '127.0.0.1'
}
}
Run Code Online (Sandbox Code Playgroud)
我的数据库密码有一个#
.我可以成功连接选项#3选项,但与其他两个选项我收到这些错误:
1) ValueError: invalid literal for int() with base 10: '1234'
2)django.db.utils.OperationalError: …
我试图在 www.mydomain.com/kibana 下运行的 GKE Kubernetes 集群中获取 Kibana 6.2.4,但没有成功。不过,我可以使用kubectl proxy
默认的SERVER_BASEPATH
.
这是我SERVER_BASEPATH
删除的Kibana 部署。
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana-logging
namespace: logging
labels:
k8s-app: kibana-logging
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
spec:
replicas: 1
selector:
matchLabels:
k8s-app: kibana-logging
template:
metadata:
labels:
k8s-app: kibana-logging
annotations:
seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
spec:
containers:
- name: kibana-logging
image: docker.elastic.co/kibana/kibana-oss:6.2.4
resources:
# need more cpu upon initialization, therefore burstable class
limits:
cpu: 1000m
requests:
cpu: 100m
env:
- name: ELASTICSEARCH_URL
value: http://elasticsearch-logging:9200
# - …
Run Code Online (Sandbox Code Playgroud) nginx kibana kubernetes google-kubernetes-engine nginx-ingress
python ×3
django ×2
nginx ×2
boto3 ×1
emr ×1
flask ×1
github ×1
graphql ×1
gunicorn ×1
highcharts ×1
kibana ×1
kubernetes ×1
node.js ×1
postgresql ×1
sql-server ×1
unicode ×1
xml ×1