从Django中提交的表单中获取ID



我正在使用React和Django,并创建了一个用于用户输入的表单。在提交时,我希望返回帖子的ID,这样页面就可以使用URL中的ID自动加载下一步。

目前,这篇文章被添加到数据库中还可以,但我对之后发生的事情有问题。

views.py
class CreateArticle(generics.CreateAPIView):
queryset = Article.objects.all()
serializer_class = CreateArticleSerializer
def article(self, request, format=None):
serializer = self.serializer_class(data=request.data)
if(serializer.is_valid()):
title = serializer.data.get('title')
p = Article(title=title)
p.save()
return Response(ArticleSerializer(p).data, status=status.HTTP_200_OK)
return Response(status=status.HTTP_400_BAD_REQUEST)
serializer.py
class CreateArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ('title')
models.py
def generate_unique_id():
return(uuid.uuid4())
class Article(models.Model):
id = models.CharField(max_length=36, default=generate_unique_id(), primary_key=True)
title = models.CharField(max_length=50)
def __str__(self):
return self.title
CreateArticle.jsx
try {
API.post("/create/", { ...article }).then((response) => console.log(response))
} catch (err) {
console.log(err)
}

我知道视图只能返回HTTP请求,但我是Django的新手,在这里迷失了方向。我尝试在视图中创建ID,并将其作为响应返回,但它不会出现在通常的Axios数据中。任何指示都将不胜感激。

谢谢

您必须在序列化程序类中包含id/pk

...
class CreateArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ('id', 'pk', 'title')

最新更新