관리자가 설정 한 imagefield/filefield를 쉽게 비울 수있는 방법을 찾기 위해 인터넷에서 사냥하고있었습니다.Django admin : Image- 또는 FileFields에 대해 "파일 제거"필드를 추가하십시오.
이 항목을 찾았습니다 : http://www.djangosnippets.org/snippets/894/. 이미 있었다 나는 내 자신의 형식에서 사용하려고하면
remove_the_file = forms.BooleanField(required=False)
def save(self, *args, **kwargs):
object = super(self.__class__, self).save(*args, **kwargs)
if self.cleaned_data.get('remove_the_file'):
object.the_file = ''
return object
나는 기본적으로 내 admin.py
이 추가 : 나에게 정말 흥미로웠다 무엇
BlahAdmin
.
object = super(self.__class__, self).save(*args, **kwargs)
나는 조금 그것에 대해 생각, 단지 무한히 것을 분명 같다 : 나는 그것을 실행하면
class BlahModelForm(forms.ModelForm):
class Meta:
model = Blah
remove_img01 = forms.BooleanField(required=False)
def save(self, *args, **kwargs):
object = super(self.__class__, self).save(*args, **kwargs)
if self.cleaned_data.get('remove_img01'):
object.img01 = ''
return object
나는이 라인에서 오류
maximum recursion depth exceeded while calling a Python object
를 얻을 수 오류를 일으키는 자체를 호출합니다. 내 문제는 내가이 일을해야하는 올바른 방법이 무엇인지 알 수 없다는 것입니다. 제안 사항이 있으십니까? 요청에 따라
추가 정보 : blah
의
모델 :
class Blah(models.Model):
blah_name = models.CharField(max_length=25, unique=True)
slug = models.SlugField()
img01 = models.ImageField(upload_to='scenes/%Y/%m', blank=True)
def __unicode__(self):
return self.blah_name
수퍼 메소드를 호출하는 것이 좋습니다. 더 많거나 다른 코드가없는 것이 확실합니까? 또한 '객체'대신 'obj'를 사용하십시오. –
팁이 obj를 사용해 주셔서 감사합니다. 코드에 더 많은 코드가 있어야하는지는 모르겠다. 링크에있는 것이 전부다. 링크의 주석 작성자는 내가 읽고있는 사람이 장고/파이썬에서 더 능숙하다는 것과 그 누락 된 비트가 명백하다고 가정하고있을 것입니다. –