ModelChoiceField возвращает число вместо своего значения
У меня есть простая модель для моих файлов csv:
#models.py
class csvModel(models.Model):
csvFileName = models.CharField(max_length=50)
csvFile = models.FileField(upload_to='tpData/csv/')
Мой скрипт позволяет пользователю загрузить файл
Затем, я использую ModelChoiceField, который позволяет пользователю выбрать один из загруженных файлов:
#forms.py
class convertForm(forms.Form):
fileToConvert = forms.ModelChoiceField(queryset=csvModel.objects.all(), label="Choose a CSV file to convert")
При вызове is_valid()
я могу получить доступ к значению поля ModelChoiceField (например, если мой csv файл называется test1, я получу test1)
#forms.py
def clean_fileToConvert(self):
print(self.cleaned_data.get("fileToConvert")) #I get the name of the field (what I want)
Но когда я пытаюсь получить доступ к этому значению чуть ниже is_valid()
, я получаю число (например, 48 для файла, 49 для следующего и т.д.)
#views.py
form2 = convertForm(request.POST)
if form2.is_valid():
print(request.POST.get("fileToConvert")) #I get 48
Я даже пытался return self.cleaned_data.get("fileToConvert")
в функции clean, но это не работает, я не знаю, как получить доступ к выбранному имени файла, url и т.д.