Python中文
首页
教程
问答
标签
搜索
登录
注册
DatabaseError:用作表达式的子查询返回多行(Django)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>当我尝试使用合并查询集时,通过<code>DatabaseError</code>进行Django。我的代码是</p> <pre><code>assetsNetwork = Asset.objects.filter(client=myClient, module__label__in=network_label_list) vulnsNetworkRaw = Vuln.objects.none() for asset in assetsNetwork: vulnsNetworkRaw = vulnsNetworkRaw | asset.latest_vulns logging.debug("+++%s+++"%vulnsNetworkRaw) </code></pre> <p>错误消息是</p> ^{pr2}$ <p>最新的方法是</p> <pre><code>@property def latest_scan(self): from arachni.models import WebScan, Vulns as WebVuln my_module = self.module try: return Scan.objects.filter(assets__id=self.id, status='Audit Complete').latest('completed_Date') except: return Scan.objects.none() @property def latest_vulns(self): from arachni.models import WebScan, Vulns as WebVuln latest_scan = self.latest_scan return Vuln.objects.filter(scan=latest_scan, host=self.IP_Address) </code></pre> <p>查询:</p> <pre><code>2012-08-07 16:44:38 EDT STATEMENT: SELECT "pegasus_vuln"."id", "pegasus_vuln"."nvt_id", "pegasus_vuln"."scan_id", "pegasus_vuln"."host", "pegasus_vuln"."port", "pegasus_vuln"."risk_factor", "pegasus_vuln"."cvss_score", "pegasus_vuln"."status", "pegasus_vuln"."change", "pegasus_vuln"."comment", "pegasus_vuln"."description", "pegasus_vuln"."solution", "pegasus_vuln"."_order" FROM "pegasus_vuln" WHERE (("pegasus_vuln"."host" = '192.168.2.251' AND "pegasus_vuln"."scan_id" = 95 ) OR ("pegasus_vuln"."host" = '192.168.2.5' AND "pegasus_vuln"."scan_id" = (SELECT U0."id" FROM "pegasus_scan" U0)) OR ("pegasus_vuln"."host" = '10.1.10.244' AND "pegasus_vuln"."scan_id" = 109 ) OR ("pegasus_vuln"."host" = '192.168.2.5' AND "pegasus_vuln"."scan_id" = (SELECT U0."id" FROM "pegasus_scan" U0)) OR ("pegasus_vuln"."host" = '192.168.2.248' AND "pegasus_vuln"."scan_id" = (SELECT U0."id" FROM "pegasus_scan" U0))) ORDER BY "pegasus_vuln"."_order" ASC LIMIT 21 2012-08-07 16:44:38 EDT ERROR: more than one row returned by a subquery used as an expression </code></pre> <p>它成功地记录了几次日志,但在日志记录行中也给出了一个错误。有人能帮我吗?谢谢。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在SQL中检查类似这样的代码。如果可以从嵌套SQL获取多个结果,则需要使用IN运算符。在</p> <pre><code>"pegasus_vuln"."scan_id" = (SELECT U0."id" FROM "pegasus_scan" U0)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
9 回答
如何合并多个xarray数据变量及其坐标?
4 回答
如何合并多个列中具有重复值的行
2 回答
如何合并多个唯一id
8 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
6 回答
如何合并多个字典并添加同一个键的值?(Python)
4 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
1 回答
如何合并多个数据帧
5 回答
如何合并多个数据帧并使用Pandas为假人添加列?
8 回答
如何合并多个数据帧并按时间戳排序
6 回答
如何合并多个数据帧的列表并用另一个lis标记每列
2 回答
如何合并多个数据框中的列
10 回答
如何合并多个文件?
5 回答
如何合并多个查询集?
4 回答
如何合并多个绘图?
1 回答
如何合并多个词典
5 回答
如何合并多个输入数据集(数据帧)?
10 回答
如何合并多条记录中拆分的文本行
5 回答
如何合并多索引列datafram
9 回答
如何合并多级(即多索引)数据帧?
9 回答