0
내가이 본질적으로 유사하다 몇 게시물을 발견했습니다하지만 그들은 그래서 여기에 100 % 명확 진행되지 않은 깨끗한 modelform 앨범을 업로드하십시오. 이 앨범이 아티스트에게 고유 한 것인지 확인하려면 양식 (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
개체를 내보기에서 양식으로 전달할 수 있습니까? 인스턴스를 clean
메서드에서 사용할 수 있습니까?
나는 ModelForm
의 __init__
메서드를 재정의하는 방법을 찾고 있지만 어떻게해야할지 확신이 서지 않습니다.
내가이 노력하고있어 있지만 작동하지 않는 것 : 당신이 모델
Album
을 가지고있는 경우에는, 그때는 아마 같은 것을 할 수 있습니다. 내 "아티스트"필드는 아티스트 모델에 대한 ForeignKey입니다. 그래서 저는 : unique_together = ('아티스트', '슬러그') - 이것이 어떻게 작동하는지 100 %가 아닙니다. – tsoporan
'unique_together = ("artist_id", "slug")'시도해보십시오. 'unique_together'가 ForeignKeys와 함께 작동하는지 확실하지 않습니다. –
오, 바보 같았 어, 데이터베이스 레벨 변경 (마이 그 레이션을 실행하지 않았다)을 잊어 버렸다. 작동합니다. 덕분에 훨씬 좋습니다. – tsoporan