python - 按属性过滤

标签 python django orm

是否可以通过模型属性过滤 Django 查询集?

我的模型中有一个方法:

@property
def myproperty(self):
    [..]

现在我想按此属性进行过滤,例如:

MyModel.objects.filter(myproperty=[..])

这有可能吗?

最佳答案

不。 Django 过滤器在数据库级别运行,生成 SQL。要基于 Python 属性进行过滤,您必须将对象加载到 Python 中以评估属性——此时,您已经完成了加载它的所有工作。

关于python - 按属性过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1205375/

相关文章:

django - 如何找到 form.has_errors 或 form.errors 并首先启用错误

java - 如何正确地对 EJB3 和 servlet 进行分层?

java - Python 代码的运行速度比 Java 慢 20 倍。有没有办法加速Python?

Python:如果变量是 'int' 并且长度 >= 5,则继续

python - 如何编写 setup.py 以包含 Git 存储库作为依赖项

java - 如何用Ebean Java ORM语言编写join

java - ORM:在 Hibernate/JPA 中用 JSON 代替 LOB

python - 获取声音输入并使用 Python 查找相似的声音

python - 基于边缘的二值化

django - 在 Django 中结合 order_by 和 distinct