2013-05-30 70 views
1

我目前正在Django中實現一個搜索功能,並計劃使用過濾器相關的功能。閱讀Django文檔一些文檔後,在我看來,關鍵字可以只是VARCHAR類型,在如下─「名」的例子申請過濾功能 - 如何通過外鍵對象屬性關鍵字

inner_qs = Blog.objects.filter(name__icontains='Cheddar') 

問題是,如果這個博客表已經提交稱爲作家外鍵,那麼

inner_qs = Blog.objects.filter(writer.name__icontains='John') 

是不允許的,顯示語法錯誤,關鍵字不能是表達式。但我真的希望將外鍵的某些字段作爲搜索關鍵字(例如writer.name),是否有任何方法可以這樣做?非常感謝您

回答

3

考慮到你在作家的名字和作家需要過濾器在博客表的外鍵,你可以使用:

inner_qs = Blog.objects.filter(writer__name__icontains='John') 

提到在Django documentation here

+0

嗨Ankit,非常感謝!現在工作很好 – Mona

+0

我很高興它的工作!請接受答案,如果它幫助:) –