gpt4 book ai didi

Django "lazy query execution"原理

转载 作者:搜寻专家 更新时间:2023-10-30 22:33:31 26 4
gpt4 key购买 nike

如果Django不使用“延迟查询执行”原则,主要问题是什么?

 q = Entry.objects.filter(headline__startswith="What")
q = q.filter(pub_date__lte=datetime.date.today())
q = q.exclude(body_text__icontains="food")
print(q)

当 print(q) 执行时,它会访问数据库。

最佳答案

可能会发生一些问题,

  • 如果 django 通过 q = Entry.objects.filter(headline__startswith="What") 命中,那么它必须需要将 QueryDict 存储到 q 中。出于这个简单的原因,它带来了一些大问题,例如数据类型、内存、时间复杂度 bla bla bla :(

  • 在那之后,您将无法获得那个很棒的功能 q.filter(.....)。因为当时已经有 value 所以,它不是一个可能的架构。但现在它正在存储对象,而且变量的行为也像一个对象。

关于Django "lazy query execution"原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com