假設我的模型:Django的過濾器查詢集基於另一個查詢集的計數
model book
charfield name
model review
charfield bookname
有沒有辦法來過濾/排除與審查書籍數爲零?我在stackoverflow上直觀地看到了這一點,但無法找到答案。這不是一個家庭作業問題。我有一個查詢集約。大小約爲200,000,從中我得出結論認爲,通過將查詢集轉換爲python列表進行過濾並進行篩選並轉換回來並不明智。有人可以幫我弄這個嗎? 感謝
是否有一個原因您的評論模型有一個書名的charfield,而不是直接更正的外鍵t Book對象?如果模型實際鏈接,過濾器會更容易做到。另外,從您的問題來看,您是否想要保留或排除沒有來自查詢集的評論的書籍並不明確。 – ChidG
@ChidG感謝您的回覆。假設我有大量書籍和評論,我認爲每次添加評論時都會將評論與書籍鏈接起來,因爲查找時間太長。應該把它們聯繫起來,以此來支持這一點嗎? – verticese
通過外鍵鏈接它們絕對是解決這個問題的標準,最佳實踐方式。在兩張表之間進行數據庫連接的時間比沒有連接它們造成的其他問題要少得多。例如,您的數據庫需要更大(磁盤空間),因爲書名將全部存儲在多個位置。當你有多本同名的書時會發生什麼?或者當某人在評論中錯誤地輸入書名?我建議你閱讀一下關於關係數據庫的設計。 – ChidG