मेरे मॉडल इस तरह कुछ हैं।एक नेस्टेड जेसन क्षेत्र पर Django order_by
class Foo():
bar = models.ForeignKey('Bar', related_name='bar')
payload = JSONField()
class Bar():
candy = models.ForeignKey('Candy', related_name='candy')
class Candy():
payload = JSONField()
मेरे क्वेरीसमूह इस
# I want to order by a name on the json field
queryset = [
{
"id": 1,
"payload": {"age": 10, "company": "ccc"}
"bar":
{
'id': 1,
"candy":
{
"payload":
{
"names": ["text":"abc", "tag":"foo"], ["text":"abb", "tag":"bar"]
}
}
}
},
{
"id": 2,
"payload": {"age": 12, "company": "aa"}
"bar":
{
'id': 2,
"candy":
{
"payload":
{
"names": ["text":"aaa", "tag":"bar"], ["text":"bbb", "tag":"bart"]
}
}
}
}]
foo = Foo.objects.all() #now I want to order foo by "names.text"
तरह दिखता है यह वही है मैं अब तक
foo = foo.order_by(RawSQL("payload->>%s", ("age",))) #this works!!
foo = foo.order_by(RawSQL("bar.candy.payload->>%s", ("names[0].text",))) #does not work
दूसरा बयान काम नहीं करता है की कोशिश की है है। मुझे का उपयोग Django 1.9 JSONField order_by
मैं समझ नहीं सकता कि उस विशेष वर्ग पर नेविगेट कैसे करें और फिर क्वेरी निष्पादित करें। इसे करने का बेहतरीन तरीका क्या है?