我非常抱歉爲這個問題的標題。我無法想象如何在簡單的情況下對其進行描述。Django模型變量 - 唯一
我正在製作一個簡單的照片庫。管理員可以創建一個圖庫頁面並上傳圖像。對於每個畫廊我都希望從其中一張照片中獲得單幅橫幅圖像。照片模型有一個CharField,它會告訴它是否有橫幅廣告。有沒有辦法讓變量只允許一個'B'爲屬於圖庫的每張照片?
我非常抱歉爲這個問題的標題。我無法想象如何在簡單的情況下對其進行描述。Django模型變量 - 唯一
我正在製作一個簡單的照片庫。管理員可以創建一個圖庫頁面並上傳圖像。對於每個畫廊我都希望從其中一張照片中獲得單幅橫幅圖像。照片模型有一個CharField,它會告訴它是否有橫幅廣告。有沒有辦法讓變量只允許一個'B'爲屬於圖庫的每張照片?
你應該爲你的班級定義一個unique_together
變量。如果您的字段名稱爲album
和banner
,則應將此行添加到模型的Meta類中。
unique_together = (("album", "banner"),)
Django Documents, unique-together
,我認爲,使用charfield一個布爾值不是一個正確的選擇。您應該將您的banner
字段更改爲BooleanField。
爲什麼不創建OneToOne字段?
class Gallery(models.Model):
...
banner = models.OneToOneField(Photo)
這種方式,你有一個畫廊和照片之間的獨特關係。
謝謝。這可能正是我需要的。在旁註中,charfield將支持更多選項,但對於我的問題沒有必要。我只需要確保每個項目只有一個橫幅。 – 2012-08-12 02:41:22