使用注释将属性添加到所有查询对象?

时间:2020-01-12 23:59:40

标签: python django python-3.x database orm

是否可以使用注释将属性添加到所有查询对象?我基本上只需要从对象的m2m关系中获取一个值并将其另存为对象的属性即可。

类似这样的事情: query.annotate(value_to_be_added=("value_from_m2m"))

基本上,我有两个相同模型的不同查询,一个查询A需要为其所有对象更改或添加一个“值”(并且该值来自m2m关系)。查询B不需要更改这些值。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我解决了。只需使用一个简单的过滤器F()。

from django.db.models import F query.annotate(value_to_be_added=F("value_from_m2m"))

https://docs.djangoproject.com/en/3.0/ref/models/expressions/#f-expressions

相关问题