Получение ошибки 'ClassAssignment' объект не имеет атрибута 'assignmentfileupload'

Модели, которые я использую, следующие

class ClassAssignment(models.Model) : 
    classroom = models.ForeignKey(Classroom, on_delete=models.CASCADE)
    title = models.CharField(max_length=300, blank=False, null=False)
    instructions = models.TextField(blank=True, null=True)

    completed = models.ManyToManyField(User)

    due_date = models.DateTimeField(blank=True, null=True)
    created_on = models.DateTimeField(default=datetime.now())


    def __str__(self) -> str : 
        return self.title



class AssignmentFileUpload(models.Model) : 
    assignment = models.ForeignKey(ClassAssignment, on_delete=models.CASCADE)
    attachment = models.FileField(upload_to="assignment_uploads/")

    created_on = models.DateTimeField(default=datetime.now())


    def __str__(self) -> str : 
        return self.assignment.title


    def delete(self, *args, **kwargs) : 
        self.attachment.delete(save=False)
        return super().delete(*args, **kwargs)

Код для сериализатора

class AssignmentSerializer(serializers.ModelSerializer) : 

assignmentfileupload = serializers.HyperlinkedRelatedField(
    view_name='file_uploads',
    many=True,
    read_only = True
)

class Meta : 
    model = ClassAssignment
    fields = (
        'id',
        'classroom',
        'title',
        'instructions',
        'due_date',
        'created_on',
        'assignmentfileupload'
    )

Я не могу понять, где я делаю неправильно. Даже в документации написано то же самое, и я следовал этому, но это не работает так, как ожидалось.

Я сделал эти изменения и теперь он работает Может кто-нибудь объяснить, что пошло не так раньше? Скриншот кода

Согласно документам

view_name - Имя представления, которое должно использоваться в качестве цели отношения. Если вы используете стандартные классы маршрутизатора, это будет строка с форматом -detail. required.

.

Таким образом, вы должны представить view_name в виде AssignmentFileUpload-detail

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