gpt4 book ai didi

arrays - 如何根据django中ArrayField中的最后一个元素进行过滤

转载 作者:行者123 更新时间:2023-11-29 13:13:31 24 4
gpt4 key购买 nike

我正在使用允许具有数组数据类型的 postgresql 数据库,此外 django 还为此提供了 PostgreSQL 特定模型字段。我的问题是如何根据数组的最后一个元素过滤对象?

class Example(models.Model):
tags = ArrayField(models.CharField(...))
example = Example.objects.create(tags=['tag1', 'tag2', 'tag3']
example_tag3 = Example.objects.filter(tags__2='tag3')

我想过滤但不知道标签的大小是多少。是否有类似的动态过滤:

example_tag3 = Example.objects.filter(tags__last='tag3')

最佳答案

我认为除了使用原始 SQL (see this) 之外,没有其他方法可以在不“降低性能”的情况下做到这一点。但是你应该避免做这样的事情,来自the doc :

Tip: Arrays are not sets; searching for specific array elements can be a sign of database misdesign. Consider using a separate table with a row for each item that would be an array element. This will be easier to search, and is likely to scale better for a large number of elements.

关于arrays - 如何根据django中ArrayField中的最后一个元素进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51830815/

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