उत्तर एक RawSQL अभिव्यक्ति है;
queryset.annotate(value = RawSQL("(jsonfield->%s)", ('key_name',)))
queryset.values('value')
RawSQL
का पहला तर्क एक टेम्पलेट स्ट्रिंग की तरह है, दूसरा तर्क पहले के %s
. में भर जाएगा
अद्यतन:स्पष्ट रूप से Django 2.1+ अब मेरे मूल अपेक्षित व्यवहार का समर्थन करता है;
queryset.values('jsonfield__key_name')