REST Django - Как захватить недавно созданный объект

Я использую метод post для создания экземпляра класса под названием Project. Когда метод Post завершается, я хочу получить ID недавно созданного Project-объекта. Как мне это сделать?

моя модель выглядит следующим образом: models.py

class Project(models.Model):
    id = models.AutoField(db_column = 'db_ID', primary_key = True)
    name = models.CharField(max_length=500, default = None)
    descriptor = models.CharField(max_length = 1000, null = True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = 'projects'

    def __str__(self):
        return self.name

и мой вид выглядит следующим образом: views.py:

class ProjectView(
    APIView,
):
    def post(self, request):
        serializer = ProjectSerializer(data = request.data)
        if serializer.is_valid():
            serializer.save()
            user = request.user
            return Response({"status": "success", "data": serializer.data}, status = 200)
        else:
            return Response({"status": "error", "data": serializer.errors}, status = 400)

serializer.data

даст вам недавно созданную строку в вашем классе модели, и вы можете получить данные, используя ajax или любой тип скриптов, и вы можете найти все данные, созданные на основе полей вашего класса сериализатора.

serializer.errors

выдаст вам ошибки, возникающие в процессе сохранения.

Попробуйте реализовать этот код, например, используя jQuery ajax:


success: function (data) {
                if (data.status === 'sucess') {
                    console.log(data.data)
                } else if (data.status === 'error') {
                    console.log(data.data)
                    
                }
            }
Вернуться на верх