gpt4 book ai didi

python - 在 Django 中过滤评估的查询集

转载 作者:行者123 更新时间:2023-12-01 05:51:27 25 4
gpt4 key购买 nike

要求我能够通过字符串属性(在本例中为name)访问评估的 QuerySet 的成员。我不喜欢循环查询集的想法,因为似乎有一种更有效的方法。

在我调用类似的内容之后:

my_objects = MyObject.objects.all()

我用这样的东西来评估它:

len(my_objects)

从评估的查询集中按名称获取特定结果的最佳方法是什么(在本例中为 my_objects)?理想情况下,我希望看到类似 my_objects.filter(foo='bar') 的内容。

请注意,在此过程中我将需要评估的 QuerySet 中的所有结果,因此这就是我将其包含在一个初始查询中的原因。

最佳答案

没有直接的方法可以根据查询集中的字段值获取对象。但您可以做的一件事是从查询集中创建一个字典并将 name 设置为键(必须是唯一的):

my_objects = MyObject.objects.all()
obj_dict = {obj.name: obj for obj in my_objects}
print obj_dict['any_name']

仅供引用:如果您只想从表中检索单个对象,则可以使用 .get方法:

obj = MyObject.objects.get(pk=id)
or
obj = MyObject.objects.get(name='unique_name')

关于python - 在 Django 中过滤评估的查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160647/

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