小编npk*_*npk的帖子

Sqlalchemy:在不读取所有子项的情况下获取子项计数

这是我的家长和孩子课程:

class Parent(Base):
    id = Column(...)
    ...

    children = relationship("Child", backref="parent", lazy="select")

class Child(Base):
    id = Column(...)
    parent_id = Column(...)
    active = Column(Boolean(), ...)
Run Code Online (Sandbox Code Playgroud)

children惰性加载技术背后的原因Parent是可能有大量的子级与父级相关联。

现在,我想获取父母的活跃孩子的数量作为混合属性。我尝试这样做的方法如下:

class Parent(Base):
    ...

    @hybrid_property
    def active_count(self):
        return len([child for child in self.children if child.active])

    @active_count.expression
    def active_count(cls):
        return (
            select(func.count(Child.id))
            .where(Child.parent_id == cls.id)
            .where(Child.active == True)
        )
Run Code Online (Sandbox Code Playgroud)

但此方法的问题是,当我调用 时parent.active_count,它会触发一个查询来获取所有子项。

我怎样才能只得到(活跃的孩子的)数量而不读取整个孩子的数量?

python sqlalchemy

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

Firebase - 没有在类上找到的序列化属性

我有一个这样的课:

class dataModel {
    String id, name;
    Integer count;

    dataModel() {}
}
Run Code Online (Sandbox Code Playgroud)

我从Firebase添加数据.

mDatabase.addValueEventListener(mListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            dataSet.add(dataSnapshot.getValue(dataModel.class));
            //...
        }
});
Run Code Online (Sandbox Code Playgroud)

当我将应用程序作为调试运行时,没有问题.但在它发布后,应用程序崩溃并出现错误:

com.google.firebase.database.DatabaseException: No properties to serialize found on class com.my.package.dataModel
Run Code Online (Sandbox Code Playgroud)

我有minifyEnabled 是的

java android firebase firebase-realtime-database

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

使用 sbt 的 Scala 项目抛出 NullPointerException

我从这里克隆了该项目,并尝试通过打开目录并使用命令将其加载到终端中sbt。但这显示如下错误:

java.lang.NullPointerException
    at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1769)
    at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
    at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
    at java.base/java.util.regex.Pattern.matcher(Pattern.java:1130)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1249)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1322)
    at sbt.IO$.pathSplit(IO.scala:797)
    at sbt.IO$.parseClasspath(IO.scala:912)
    at sbt.compiler.CompilerArguments.extClasspath(CompilerArguments.scala:66)
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

我尝试了另一个项目,pdffigures2。它显示类似的错误:

[info] Loading project definition from /path/to/project/pdffigures2/project
java.lang.NullPointerException
    at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1769)
    at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
    at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
    at java.base/java.util.regex.Pattern.matcher(Pattern.java:1130)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1249)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1322)
    at sbt.IO$.pathSplit(IO.scala:744)
    at sbt.IO$.parseClasspath(IO.scala:859)
    at sbt.compiler.CompilerArguments.extClasspath(CompilerArguments.scala:62)
    at sbt.compiler.MixedAnalyzingCompiler$.withBootclasspath(MixedAnalyzingCompiler.scala:189)
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

并提示我重试、退出、最后或忽略。我又试了一次,结果还是一样。

如果有帮助,我正在使用Ubuntu 18.04

scala sbt

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

从不同目录的预提交中运行 mypy

我的项目结构如下:

\n
project/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 backend\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 api_v1\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 api_v2\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 api_v3\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 frontend\n
Run Code Online (Sandbox Code Playgroud)\n

每个 API 目录 、api_v1api_v2api_v3都有 python 文件。

\n

仅当代码发生更改时,我才想对每个目录运行预提交。例如,mypy -p api_v1如果目录发生更改,我想运行api_v1。我知道密钥filestypes预提交,但我无法找到一种方法来运行 mypy,就好像它是从目录运行一样backend。另外,当我对其中超过 1 个目录进行更改时,我无法单独为api_v1api_v2或运行 mypy。api_v3

\n

是不可能还是我

\n

python pre-commit python-3.x mypy pre-commit.com

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

嵌入的“PDF”文件未显示

我将测试pdf文件放入dropbox并获得了公共链接:

https://dl.dropboxusercontent.com/u/6257603/pdfs/pdf01.pdf
Run Code Online (Sandbox Code Playgroud)

我想将其显示(嵌入)到我的 html 页面。(我想创建一个树形结构的多个链接来加载上传的内容pdf以显示给用户)

我得到的答案是,pdf可以嵌入到html这里的文件中:

http://www.webdeveloper.com/forum/showthread.php?152923-PDF-within-a-DIV

但我看不到任何输出。这是我的尝试:

https://dl.dropboxusercontent.com/u/6257603/pdfs/pdf01.pdf
Run Code Online (Sandbox Code Playgroud)
div {
    border : 1px solid red;
    height:200px;
    overflow:auto;
}
Run Code Online (Sandbox Code Playgroud)

html javascript css pdf jquery

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