0
我發現,在本質上類似於這幾個職位,但他們還沒有達到100%的清楚,所以這裏有雲:的Django的ModelForm乾淨
在我的意見我有一個add_album
觀點,即允許用戶上傳一個相冊。我想要做的是清理表格()以檢查這張專輯是否對於藝術家而言是唯一的。
我看起來像這樣:
class AlbumForm(ModelForm):
class Meta:
model = Album
exclude = ('slug','artist','created','is_valid', 'url', 'user', 'reported')
def clean_name(self):
super(AlbumForm, self).clean()
cd = self.cleaned_data
try:
Album.objects.get(slug=slugify(cd['name']), artist=artist)
raise forms.ValidationError("Looks like an album by that name already exists for this artist.")
except Album.DoesNotExist:
pass
return cd
所以這是沿着想什麼,我做的東西線。
我的問題是:有沒有辦法將artist
對象從我的視圖中傳遞到表單中,因此我可以在clean
方法中使用artist
實例?
我認爲我在重寫方法ModelForm
,但我不確定如何去做。
我想這一點,但它似乎並沒有工作。我的「藝術家」字段是藝術家模型的外鍵。所以我這樣做:unique_together =('藝術家','slu'') - 不是100%如何這應該工作。 – tsoporan 2009-12-18 15:49:23
嘗試'unique_together =(「artist_id」,「slug」)'。不完全確定'unique_together'是否適用於ForeignKeys。 – 2009-12-18 15:56:32
哦,嘿,我傻了,我忘了這是一個數據庫級別的變化(沒有運行遷移)。它的工作,謝謝,這是好多了。 – tsoporan 2009-12-18 16:11:06