小编vic*_*vic的帖子

在SQLAlchemy中按对象过滤

我有一个声明的模型,表中存储了一个对象的"原始"路径标识符.然后我有一个@hybrid_property允许直接获取和设置由该字段标识的对象(这不是另一个声明性模型).有没有办法直接在这个高级别查询?

我可以做这个:

session.query(Member).filter_by(program_raw=my_program.raw)
Run Code Online (Sandbox Code Playgroud)

我希望能够这样做:

session.query(Member).filter_by(program=my_program)
Run Code Online (Sandbox Code Playgroud)

哪里 my_program.raw == "path/to/a/program"

Member有一个字段program_raw和一个属性program,它获取正确的Program实例并设置适当的program_raw值.Program有一个简单的raw字段,可以唯一地标识它.如有必要,我可以提供更多代码.

问题是,目前,SQLAlchemy只是尝试将程序实例作为参数传递给查询,而不是其raw值.这会导致Error binding parameter 0 - probably unsupported type.错误.

  • 或者,SQLAlchemy需要知道在比较时program,它必须使用Member.program_raw并匹配raw参数的属性.使用它Member.program_raw只是使用,@program.expression但我无法弄清楚如何Program正确翻译参数(使用比较器?),和/或
  • SQLAlchemy应该知道,当我按Program实例过滤时,它应该使用该raw属性.

我的用例可能有点抽象,但想象一下,我在数据库中存储了一个序列化的RGB值,并在模型上有一个带有Color类的属性.我想通过Color类进行过滤,而不必处理我的过滤器中的RGB值.颜色类没有问题告诉我它的RGB值.

python sqlalchemy

4
推荐指数
1
解决办法
1394
查看次数

使用Pandas的每个单独行(一对多)的多个结果

如果我的DataFrame每个行都是个体,每个列都是个别属性,我怎样才能获得一个新的DataFrame,将每个人映射到多个结果?

我试过这样做DataFrame.apply()似乎最直观 - 但它给出了例外情况,如下例所示.添加broadcast=Falsereduce=False没有帮助.

下面是一个简单的例子,显然,但要考虑每行映射到多行的任何情况.处理这个问题的最佳方法是什么?实际上,每行可以映射到不同数量的结果.这基本上是计算一对多的关系.

示例:我有一个DataFrame具有以下结构的数据集,我希望为每个人获得即将到来的三个生日(我知道这个例子).所以,来自:

+---+-------+------------+
|   | name  | birthdate  |
+---+-------+------------+
| 1 | John  | 1990-01-01 |
| 2 | Jane  | 1957-04-03 |
| 3 | Max   | 1987-02-03 |
| 4 | David | 1964-02-12 |
+---+-------+------------+
Run Code Online (Sandbox Code Playgroud)

类似于:

+-------+------------+
| name  | birthday   |
+-------+------------+
| John  | 2016-01-01 |
| John  | 2017-01-01 |
| John  | 2018-01-01 …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
2404
查看次数

在 JSON-LD 中注释嵌套结构/值

假设我有一个 JSON 对象,其中嵌套对象中有一些属性。

{
    "title": "My Blog Post",
    "meta": {
        "publishedAt": "2016-08-01T00:00:00Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将 a 添加@context到我的顶级对象来达到这些属性(即只是“传递”元对象)?沿着这些思路:

{
    "@context": {
        "title": "schema:name",
        "meta.publishedAt": {
            "@type": "xsd:date",
            "@id": "schema:datePublished"
        }
    },

    "@id": "/my-article",
    "title": "My Blog Post",

    "meta": {
        "publishedAt": "2016-08-01T00:00:00Z"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想避免必须添加(重复)@id到嵌套对象,否则我将如何解决它:

{
    "@context": {
        "title": "schema:name",
        "meta": { "@id": "_:meta", "@container": "@set" },
        "publishedAt": {
            "@type": "xsd:date",
            "@id": "schema:datePublished"
        }
    },

    "@id": "/my-article",
    "title": "My Blog Post",

    "meta": {
        "@id": "/my-article",
        "publishedAt": "2016-08-01T00:00:00Z"
    } …
Run Code Online (Sandbox Code Playgroud)

json-ld

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

更改Wordpress 4.1中的"阅读更多"链接以防止滚动/删除"more-X"哈希

我这样插入更多标签:

插入阅读更多标签

继续阅读链接发送到/%postname%/#more-9,我只需要/%postname%/.

我应该改变什么,在哪里?在functions.php(wp-incudes和主题文件)中没有" more "的结果.

wordpress

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

标签 统计

python ×2

json-ld ×1

pandas ×1

sqlalchemy ×1

wordpress ×1