这是我的家长和孩子课程:
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,它会触发一个查询来获取所有子项。
我怎样才能只得到(活跃的孩子的)数量而不读取整个孩子的数量?
我有一个这样的课:
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 是的
我从这里克隆了该项目,并尝试通过打开目录并使用命令将其加载到终端中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。
我的项目结构如下:
\nproject/\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\nRun Code Online (Sandbox Code Playgroud)\n每个 API 目录 、api_v1、api_v2和api_v3都有 python 文件。
仅当代码发生更改时,我才想对每个目录运行预提交。例如,mypy -p api_v1如果目录发生更改,我想运行api_v1。我知道密钥files和types预提交,但我无法找到一种方法来运行 mypy,就好像它是从目录运行一样backend。另外,当我对其中超过 1 个目录进行更改时,我无法单独为api_v1、api_v2或运行 mypy。api_v3
是不可能还是我
\n我将测试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)
python ×2
android ×1
css ×1
firebase ×1
html ×1
java ×1
javascript ×1
jquery ×1
mypy ×1
pdf ×1
pre-commit ×1
python-3.x ×1
sbt ×1
scala ×1
sqlalchemy ×1