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)
}
}