我正在使用Django來實現投票系統。投票由幾個類別組成,每個類別只允許一次投票。舉個例子,讓我們來投票選出一所學校的每個科目中哪個教師最好。您的設置可能是這樣的,只有一個每個類別允許每人投票:Django如何設置abc,使其中一個實例恰好指向每個類別的一個實例
Science:
Teacher A
Teacher B
Teacher C
English
Teacher D
Teacher E
History
Teacher F
Teacher G
在此設置中,例如,學生可以投票教師A,E和F,但不是一個教師, B和G(因爲教師A和B屬於同一科目)。我怎麼能用Django中的Option(一個你可以投票的人),Category和Vote抽象基類來表示這個?換句話說,你如何能夠一般地設置它,使得每個投票實例對每個選項實例(特定投票所用的選項)都有一個引用,但是它的所有選項都沒有引用相同的類別。
更新
爲了澄清,該解決方案應該抽象基類的工作,從而繼承自動設置使用任何模型關係。例如,如果Option模型要將FK應用於Category模型,那麼我需要一種方法來讓類的子類化Option和Category通過子類化來設置它們的FK。
感謝您的響應。幾個問題。 1.保存應該是投票內的重寫嗎? 2.每個投票應該能夠在每個類別中選擇一名教師,這是否意味着這個答案適用於一點變化,或者它不再可行? – ericmarkmartin
yes保存方法是模型保存方法的重寫,我編輯了我的答案以更好地顯示python縮進,但即使教師可能是多個類別的一部分,解決方案仍然可行。 –
我想你是誤解。這並不是說我需要一個老師參與多個類別,而是需要一個投票才能投票給多個類別。我也不相信你是解決繼承問題的解決方案。 – ericmarkmartin