Python Django Поле 'id' ожидало число, но получило '{"isTrusted":true}'.

Ошибка: Поле 'id' ожидало число, а получило '{"isTrusted":true}'

При попытке выполнить операцию удаления возникает ошибка, и я не знаю, как ее устранить.

view.py

serializers.py

class CreateClassSeriaizer(serializers.Serializer):
    title = serializers.CharField(max_length=128, required=False)
    start_time = serializers.DateTimeField(required=False)
    end_time = serializers.DateTimeField(required=False)

    users = serializers.ListField(
        child=serializers.ListField(child=serializers.CharField(max_length=64)), required=False)

class ClassSerializer(serializers.ModelSerializer):
    created_by = UsernameSerializer()
    status = serializers.CharField()
    # title = serializers.CharField(max_length=128)
    # start_time = serializers.DateTimeField()
    # end_time = serializers.DateTimeField()
    # users = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
    class Meta:
        model = Class
        fields = "__all__"

class EditClassSerializer(serializers.Serializer):
    id = serializers.IntegerField(required=False)
    title = serializers.CharField(max_length=128, required=False)
    start_time = serializers.DateTimeField(required=False)
    end_time = serializers.DateTimeField(required=False)

models.py

class ClassStatus:
    CLASS_NOT_START = "1"
    CLASS_ENDED = "-1"
    CLASS_UNDERWAY = "0"



class Class(models.Model):
    title = models.TextField()
    start_time = models.DateTimeField()

    end_time = models.DateTimeField()
    create_time = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='created_classes')

    users = models.ManyToManyField(User, related_name='enrolled_classes')


    @property
    def status(self):
        if self.start_time > now():
            return ClassStatus.CLASS_NOT_START
        elif self.end_time < now():
            return ClassStatus.CLASS_ENDED
        else:
            return ClassStatus.CLASS_UNDERWAY

    class Meta:
        db_table = "Class"
        ordering = ("-start_time",)

Я попробовал напечатать Class_id, и содержимое было isTrusted:true. Я не понимаю, почему так происходит. Я даже не знаю, откуда берется isTrusted.

Я только что выяснил, в чем была моя проблема. Это мой предыдущий код для кнопки удаления в Vue:

<icon-btn name="Delete" icon="trash" @click.native="deleteClass"></icon-btn>

А это обновленная версия:

<icon-btn name="Delete" icon="trash" @click.native="deleteClass(scope.row.id)"></icon-btn>

Большое спасибо всем, кто ответил на мои вопросы ранее. Я очень ценю это!

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