0

我的 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 等。

4

0 回答 0