как удаляется файл из MEDIA_ROOT
есть модель:
class Group(models.Model):
name=models.TextField(_('Group name'))
g_file=models.FileField(upload_to='group/', max_length=256, blank=True)
есть форма:
class UploadForm(forms.Form):
group = forms.ModelChoiceField(queryset=Group.objects.all(), empty_label=_('Choose Group'), label=_('Group'), widget=forms.Select(attrs={'class': 'form-control bg-fff'}))
group_file=forms.FileField(label=_('Upload file'), widget=forms.FileInput(attrs={'title': _('Choose file'), 'class': 'form-control', 'data-filename-placement': 'inside'}))
и вьюха, которая обрабатывает форму:
def management_update(request):
context={}
if request.method == 'POST':
form = UploadForm(request.POST, request.FILES)
if form.is_valid():
if upload(request.FILES['group_file'], request.POST['group']):
#функция upload просто обрабатывает файл и возвращает true или false
group = Group.objects.get(pk=request.POST['group'])
group.g_file = request.FILES['group_file']
group.save()
context['success']='success'
else:
context['error']=_('Invalid file or you don`t choose group')
else:
context['error']=_('Invalid file or you don`t choose group')
else:
form = UploadForm()
context['form']= form
return render(request, 'stest/management_update.html', context)
все супер, все работает, но есть одна проблема, файлы плодяться и получается невероятно огромная куча
вопрос: как на этапе записи файла в модель удалить файл? group.g_file.delete()
удаляется только запись из базы, а файл в MEDIA_ROOT остается лежать без надобности
Updated 16 June 2016, 15:33 by Origin.