Я нашел несколько постов, которые похожи по своей природе на это, но они не были ясны на 100%, так что вот так:
В моих представлениях у меня есть представление add_album
, которое позволяет пользователю загружать альбом. Я хотел бы очистить форму (AlbumForm
), чтобы проверить, является ли этот альбом уникальным для исполнителя.
Мой AlbumForm
выглядит так:
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
из моего представления в форму, чтобы я мог использовать этот экземпляр artist
в методе clean
?
Я думаю, что смотрю на переопределение __init__
метода ModelForm
, но я не уверен, как это сделать.