Django: Объект NoneType' не имеет атрибута 'user' ошибка

У меня есть две модели:

МОДЕЛЬ

class File(models.Model): 
    user = models.ForeignKey(Profile, on_delete=models.CASCADE)   
    filename = models.CharField(max_length=250)   
    file_upload = models.FileField(upload_to=path)
    upload_date  = models.DateField(default=datetime.now)   

    def __str__(self):        
        return self.user.name + 'file'

class Dataset(models.Model):    
    user = models.ForeignKey(Profile, on_delete=models.CASCADE)
    file_uploaded = models.OneToOneField(File, on_delete=models.CASCADE)

    name_user_A = models.CharField(max_length=250)
    code_user_A = models.PositiveIntegerField(null=True)
    total_user_A = models.PositiveIntegerField(null=True)
    sd_user_A = models.PositiveIntegerField(null=True)

    name_user_B = models.CharField(max_length=250)
    code_user_B = models.PositiveIntegerField(null=True)
    total_user_B = models.PositiveIntegerField(null=True)
    sd_user_B = models.PositiveIntegerField(null=True)

В модели File нужно загрузить файл csv, а затем сохранить информацию в файле в модели Dataset. После этого я хочу показать пользователю некоторую диаграмму, поэтому мне нужно, чтобы модели File и Dataset были связаны. Вот мое представление:

ПРОСМОТРОВ

def file_upload(request):
    data = None

    if request.method == 'POST':
        form = FileForm(request.POST, request.FILES)
        raw_file= request.FILES
        if form.is_valid():                               
            form.instance.user = request.user.profile    
            form.instance.filename = raw_file['file_upload'].name
            form.save()  

            data = request.FILES['file_upload']             
            data = pd.read_csv(data, header=0, encoding="UTF-8")                   
            data_form.instance.user = request.user.profile          
            
            Dataset.objects.create(
                name_user_A = data.iloc[0,1],
                name_user_B = data.iloc[1,1],
                [...]
                )          
            return redirect('upload_file')
        else:
            return redirect('home')
    else:
        form = FileForm()  
 
    context = {              
               'data': data,
               'form': form,                                      
               }
    return render(request, 'upload_file.html', context)

Когда я пытаюсь получить доступ к базе данных Dataset в области администратора, я получаю эту ошибку: 'NoneType' object has no attribute 'user'. Я также не могу получить доступ к html-странице с результатами и графиком, потому что получаю эту ошибку: Dataset matching query does not exist. Вот вид и код url, как я достигаю html-страницы

def results(request, id):
    results = File.objects.filter(user=request.user.profile).filter(pk=id)

   context = {
            'results': results
            }
   return render(request, 'results.html', context)

urlpatterns = [
   path('chart/<id>', views.results, name="file"), 
]

Может ли кто-нибудь любезно помочь мне и объяснить, как я могу исправить мой код? Спасибо

Вернуться на верх