gpt4 book ai didi

python - Django 从查询集中删除重复项

转载 作者:太空狗 更新时间:2023-10-29 22:22:31 27 4
gpt4 key购买 nike

我想删除相关字段中的重复项,我的查询集示例:

example = models.Object.objects.values('name', 'photo__name', 'url', 'photo__url').distinct()

如果 name == photo__name 和 url == photo_url 我需要删除其中一个,我如何使用 Django ORM 执行此操作或者我需要遍历查询集?

最佳答案

如果您使用的是 PostgreSQL,请查看 Django docs on distinct() :

On PostgreSQL only, you can pass positional arguments (*fields) in order to specify the names of fields to which the DISTINCT should apply...

When you specify field names, you must provide an order_by() in the QuerySet, and the fields in order_by() must start with the fields in distinct(), in the same order.

因此,在您的示例中,您可以使用以下方法删除某些字段上的重复项:

.order_by('photo__name', 'photo__url').distinct('photo__name', 'photo__url')

关于python - Django 从查询集中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607041/

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