小编bre*_*mos的帖子

使用 RECURSIVE 查询来选择最长的路径

WITH RECURSIVE我是PostgreSQL 的新手。我有一个相当标准的递归查询,它遵循邻接列表。如果我有,例如:

1 -> 2
2 -> 3
3 -> 4
3 -> 5
5 -> 6
Run Code Online (Sandbox Code Playgroud)

它产生:

1
1,2
1,2,3
1,2,3,4
1,2,3,5
1,2,3,5,6
Run Code Online (Sandbox Code Playgroud)

我想要的是:

1,2,3,4
1,2,3,5,6
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 Postgres 中做到这一点。这似乎是“选择最长的路径”或“选择不包含在另一条路径中的路径”。我也许可以看到如何通过连接本身来做到这一点,但这似乎效率很低。

一个示例查询是:

WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
   SELECT g.id, g.link, g.data, 1, ARRAY[g.id], false
   FROM graph g
  UNION ALL
   SELECT g.id, g.link, g.data, sg.depth + 1, path || g.id, g.id = ANY(path)
   FROM graph g, search_graph sg
   WHERE g.id = sg.link AND NOT cycle …
Run Code Online (Sandbox Code Playgroud)

sql postgresql directed-graph recursive-query common-table-expression

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

IAM配置访问S3上的jgit

我正在尝试创建IAM权限,因此jgit可以访问我的一个存储桶中的目录.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::<mybucket>/<mydir>/*"]   
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::<mybucket>/<mydir>"]
    }
  ]  
}
Run Code Online (Sandbox Code Playgroud)

不幸的是它会抛出一个错误.我不确定还有什么其他允许行动才能实现.(在IAM有点新).

Caused by: java.io.IOException: Reading of '<mydir>/packed-refs' failed: 403 Forbidden
    at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:519)
    at org.eclipse.jgit.transport.AmazonS3.get(AmazonS3.java:289)
    at org.eclipse.jgit.transport.TransportAmazonS3$DatabaseS3.open(TransportAmazonS3.java:284)
    at org.eclipse.jgit.transport.WalkRemoteObjectDatabase.openReader(WalkRemoteObjectDatabase.java:365)
    at org.eclipse.jgit.transport.WalkRemoteObjectDatabase.readPackedRefs(WalkRemoteObjectDatabase.java:423)
    ... 13 more
Caused by: java.io.IOException:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>...</RequestId><HostId>...</HostId></Error>
    at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:538)
    ... 17 more
Run Code Online (Sandbox Code Playgroud)

403 Forbidden显然是错误但不确定需要添加到IAM中的内容.有任何想法吗?

[本来应该补充说,我在政策模拟器中尝试了这个,它似乎在那里工作.]

amazon-s3 jgit

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

来自另一个应用程序的Django模板网址

我一定想念一些愚蠢的东西。我的模板中有一个{%url%},该操作来自另一个应用程序。它不起作用,但是我不知道其他应用程序使用视图功能是否有所不同,或者我只是在做傻事。

呼叫/模板/呼叫/file.html

    <form action="{% url 'upload_image' %}"></form>
Run Code Online (Sandbox Code Playgroud)

图片/ urls.py

from .views import PictureList, PictureCreate, PictureDetail, PictureUpdate, PictureDelete, upload_image

...
url(r'^upload_image/$', upload_image, name='upload_image'),
...
Run Code Online (Sandbox Code Playgroud)

图片/ view.py

def upload_image( request ):
    print 'IN IMAGE UPLOAD'
    print request
Run Code Online (Sandbox Code Playgroud)

我得到的只是:

NoReverseMatch at /call/4/

Reverse for 'upload_image' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Run Code Online (Sandbox Code Playgroud)

django django-templates

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