gpt4 book ai didi

Django postgres HStoreField 排序依据

转载 作者:行者123 更新时间:2023-11-29 12:37:04 25 4
gpt4 key购买 nike

我可以通过 HStoreField 中的值对 QuerySet 的结果进行排序吗,例如我有模型:

class Product(model.Models):
name = CharField(max_length=100)
properties = HStoreField()

我想在 HStoreField 中存储我的产品的一些属性,例如:

{ 'discount': '10', 'color': 'white'}

鉴于我想以折扣价订购生成的 QuerySet。

最佳答案

以上答案无效。从未为 HStoreField 实现顺序转换,请参阅 https://code.djangoproject.com/ticket/24747 .

但是https://code.djangoproject.com/ticket/24592中的建议作品。这里有更多细节。

from django.contrib.gis.db.models import TextField, HStoreField, Model
from django.db.models import F, Func, Value

class MyThing(Model):
name: TextField()
keys: HStoreField()

things = [MyThing(name='foo'),
MyThing(name='bar'),
MyThing(name='baz')]
things[0].keys['movie'] = 'Jaws'
things[1].keys['movie'] = 'Psycho'
things[2].keys['movie'] = 'The Birds'
things[0].keys['rating'] = 5
things[1].keys['rating'] = 4
things[2].keys['year'] = '1963'

# Informal search
MyThing.objects\
.filter(keys__has_key='rating')\
.order_by(Func(F('keys'), Value('movie'),
function='',
arg_joiner=' -> ',
output_field=TextField()))

正式搜索完全按照上面第二个链接的描述。将上述代码段中的导入与该代码一起使用。

关于Django postgres HStoreField 排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30774845/

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