gpt4 book ai didi

django - 是否有 "proper"方法将 django.db.models.query.ValuesListQuerySet 转换为纯列表?

转载 作者:行者123 更新时间:2023-12-04 00:06:48 25 4
gpt4 key购买 nike

我试图用一种方法从多个模型中删除记录,如果我有以下架构:

picture 1:1 picture_foreign_picture *:1 picture_foreign

我正在删除这些给定的列表 picture_foreign 对象:
picture_foreign_pictures = PictureForeignPicture.objects.filter(picture_foreign__in=picture_foreigns)
picture_ids = picture_foreign_pictures.values_list('picture_id', flat=True)
logger.warn('PICTURES REMOVE: %s' % picture_ids)
picture_foreign_pictures.delete()
logger.warn('PICTURES REMOVE: %s' % picture_ids)

2 个记录器行输出以下内容:
WARNING 2013-01-02 03:40:10,974 PICTURES REMOVE: [86L]
WARNING 2013-01-02 03:40:11,045 PICTURES REMOVE: []

尽管如此,图片 86仍然存在:
mysql> select id from picture where id = 86;
+----+
| id |
+----+
| 86 |
+----+
1 row in set (0.00 sec)

我想我可以通过简单地转换 picture_ids 来解决这个问题。变成一个纯整数列表,但是我想知道是否有更多的 Django 方法?我本来以为 flat=True已经可以处理这个问题,但它似乎不仅仅是一个纯粹的列表。

最佳答案

好吧,我不确定它是否正确,但使用起来非常简单 list()实现这一点:

picture_ids = list(picture_foreign_pictures.values_list('picture_id', flat=True))

关于django - 是否有 "proper"方法将 django.db.models.query.ValuesListQuerySet 转换为纯列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116692/

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