簡體   English   中英

Django JSONField isnull 查找

[英]Django JSONField isnull lookup

據我所知,您不能在 Django 原生JSONField上使用__isnull查找。 在互聯網上,我發現了這個無效的問題。 作為可能的解決方法,我們當然可以使用這些黑客:

  1. model.objects.filter(field__contains={'key': None}) ,這不是那么靈活,因為您可能需要查詢多個鍵或其他任何東西。

  2. model.objects.exclude(field__key=True).exclude(field__key=False) ,這是hacky,僅適用於布爾數據。

我希望有更好的方法 ((c) Raymond Hettinger) 來做這件事。 任何建議將不勝感激。 現在,我將采用第一種方法

根據這個(見最后一個,結束評論)以下應該工作model.objects.filter(field__key=None) (但顯然你應該使用 Django 版本和 fix )。

Django 文檔

警告

由於任何字符串都可能是 JSON 對象中的鍵,因此除下面列出的那些之外的任何查找都將被解釋為鍵查找。 沒有錯誤被提出。 輸入錯誤時要格外小心,並始終檢查您的查詢是否按預期工作。

他們在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM