1
我有一個django項目,我正在使用tastypie將我的應用變成基於REST的API。防止用戶多次喜歡一張照片
我讓用戶上傳照片,然後其他註冊用戶可以喜歡他們。我想阻止一個人不止一次喜歡一張照片。
我知道使用視圖或tastypie特定的代碼我可以添加功能來檢查用戶是否已經喜歡照片,如果他們沒有增加計數。但我不知道是否有一種方法做模型中的這個檢查(如果這是好還是壞)
感謝
我有一個django項目,我正在使用tastypie將我的應用變成基於REST的API。防止用戶多次喜歡一張照片
我讓用戶上傳照片,然後其他註冊用戶可以喜歡他們。我想阻止一個人不止一次喜歡一張照片。
我知道使用視圖或tastypie特定的代碼我可以添加功能來檢查用戶是否已經喜歡照片,如果他們沒有增加計數。但我不知道是否有一種方法做模型中的這個檢查(如果這是好還是壞)
感謝
我希望你有喜歡的模型?如果不是,則將其創建爲intermediary model,用於M2M用戶< - >照片關係。接下來,添加一個簡單的unique constraint:
unique_together = ("user", "photo")
它強制在數據庫級別上,所以它會給你不錯的表現。
如果你不想保留喜歡的專用模型,不幸的是我無法幫助 - 沒有其他優雅的方式來保存一些用戶喜歡某張照片的事實。最後,您應該對M2M感到滿意,因爲您可以隨後輕鬆添加額外的功能:與照片不同,顯示誰喜歡某張照片,何時發生最喜歡的照片,添加一定程度的「喜歡」等等。
祝你好運!