小编blu*_*ote的帖子

Django:在 JSONField 上使用 F() 表达式?

我有模型

class Product(Model):
    properties = JSONField()
Run Code Online (Sandbox Code Playgroud)

查询时

Product.objects.values('properties__color')
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果

从产品中选择 product.properties->color

但是,当我在做我认为等效的事情时

Product.objects.values(color=F('properties__color'))
Run Code Online (Sandbox Code Playgroud)

执行的查询完全不同

SELECT product.properties AS color FROM product

这是 django 的 JSONField 的错误,还是我误解了F()表达式?

python django

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

`a:b`语句在python中做什么?

我在修改字典,偶然写了类似

data = dict(a=1, b=2)
if condition:
    data['c']: 3
Run Code Online (Sandbox Code Playgroud)

我希望这是一个语法错误,但是它可以正确运行,并且该语句似乎没有任何作用。

令我感到好奇的是:这是一种什么样的说法,为什么这是合法的?

python

7
推荐指数
0
解决办法
110
查看次数

sqlalchemy:在*查询*级别重命名列

我需要重命名查询中的列,但无法在列级别上执行此操作,例如

session.query(MyModel.col_name.label('new_name'))
Run Code Online (Sandbox Code Playgroud)

有什么方法可以重命名结果查询对象上的列吗?

例如,类似的东西

session.query(...).blah().blah().rename_column('old_name', 'new_name')
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

“有效类型”的说明?

我正在阅读6.5表达式中规定的C规范

对象访问其存储值的有效类型是该对象的声明类型(如果有)。如果通过具有非字符类型的左值将值存储到没有声明类型的对象中,则左值的类型将成为该访问和不修改该访问的后续访问的对象的有效类型。储值。

谁能解释这意味着什么?我有一种模糊的感觉,它与指针和有关malloc(),但是这是我在没有律师帮助的情况下所能得到的。

根据答案更新:我可以安全地这样做吗?

struct point {
    int x;
    int y;
};

int main() {
    int *x = malloc(1000);
    *x = 10;
    printf("%d\n", *x);

    struct point *p = x;
    p->x = 5;
    p->y = 10;
    printf("%d %d\n", p->x, p->y);
}
Run Code Online (Sandbox Code Playgroud)

我收到警告,但对我而言有效。可以保证工作吗?

c

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

VS Code + rust-analyzer 可以在代码中插入嵌入提示吗?

我用 Rust 写作,但其他语言可能也是如此。

当我输入 eg 时let x = 5,vscode 显示let x: i32 = 5,其中该: i32部分是镶嵌提示。有什么办法让 vscode 将该提示插入到实际代码中吗?

rust visual-studio-code

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

Visual Studio Code:关闭“esc”上的建议框?

正如标题所说。Visual Studio 代码建议有时很有用,但当它们没有用时,我无法关闭建议框。您要么必须输入一些内容然后将其删除,要么单击屏幕上的其他位置。可以配置为关闭建议esc吗?

visual-studio-code

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

Python:获取“ typing.List”的类型

我已经将函数的参数注释为

import typing

def f(x: typing.List[MyType]):
    ...
Run Code Online (Sandbox Code Playgroud)

通过检查参数实参,我得到的类型,正确地xtyping.GenericMeta其实例打印为typing.List[MyType]

如何从该对象获取ListMyType

python

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

修改numpy数组以返回nan越界吗?

无论如何,要创建一个numpy数组,np.nan当索引超出范围时返回该数组?例如

x = np.array([1,2,3])
x[1] # 2
x[-2] # np.nan
x[5] # np.nan
Run Code Online (Sandbox Code Playgroud)

我发现最接近的东西是np.pad

我知道我可以编写一个包装器类,但是我想知道是否有任何有效的numpy方法可以做到这一点。

python numpy

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

C:所有字符串文字都具有静态存储持续时间吗?

我一直在阅读各种来源,字符串文字在程序的整个生命周期中都保留在内存中。在那种情况下,这两个函数之间有什么区别

char *f1() { return "hello"; }
char *f2() {
   char str[] = "hello";
   return str;
}
Run Code Online (Sandbox Code Playgroud)

虽然f1编译正常,但f2抱怨我正在返回堆栈分配的数据。这里会发生什么?

  • 如果str指向实际的字符串文字(具有静态持续时间),为什么会出现错误?
  • 如果字符串文字被复制到局部变量str,那么原始字符串文字去哪里了?它是否保留在内存中而不引用它?

c arrays initialization string-literals implicit-conversion

5
推荐指数
2
解决办法
491
查看次数

熊猫:将数据框写入 excel 文件 *object*(不是文件)?

我有一个数据框,我想将其转换为 excel 文件,并使用 HTTP 返回它。Dataframe 的to_excel方法接受路径或ExcelWriter,而后者又指的是路径。

有没有办法将数据帧转换为文件对象,而不将其写入磁盘?

python pandas

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