Python django restframework HyperlinkedRelatedField在一对多和多对多关系上返回空值
嗨,我是django restframework的新手,我有这样的模型:Python django restframework HyperlinkedRelatedField在一对多和多对多关系上返回空值,python,django,rest,django-rest-framework,crud,Python,Django,Rest,Django Rest Framework,Crud,嗨,我是django restframework的新手,我有这样的模型: class Tag(models.Model): name = models.CharField(max_length=10) def __str__(self): return self.name class Blog(models.Model): title = models.CharField(max_length=100) content = models.Tex
class Tag(models.Model):
name = models.CharField(max_length=10)
def __str__(self):
return self.name
class Blog(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE,null=True,related_name='post')
tags = models.ManyToManyField(Tag,related_name='tag')
def __str__(self):
return self.title
我的观点是(如果它看起来很糟糕,我很抱歉):
这是我的序列化程序:
class BlogSerializers(serializers.ModelSerializer):
author = serializers.HyperlinkedRelatedField(
read_only=True,
view_name='user-detail'
)
tags = serializers.HyperlinkedRelatedField(
many = True,
read_only=True,
view_name='tag-detail'
)
class Meta:
model = Blog
fields = ('id','title','content','author','tags')
class UserSerializers(serializers.ModelSerializer):
post = serializers.HyperlinkedRelatedField(
many=True,
read_only=True,
view_name='blog-detail'
)
class Meta:
model = User
fields = ('id','username','email','first_name','last_name','post')
class TagSerializers(serializers.ModelSerializer):
class Meta:
model = Tag
fields = ('id','name')
我的网址:
path('user/<int:pk>',views.userDetail,name="user-detail"),
path('blog/create',views.insertPost,name="blog-new"),
path('blog/',views.blogList,name="blog-list"),
path('blogs/<int:pk>',views.userBlog,name="blog-detail"),
path('tags/<int:pk>',views.tagDetail,name="tag-detail"),
这是我不使用超链接LatedField的时候
{
"id": 10,
"title": "Ubuntu",
"content": "TEST",
"author": null,
"tags": []
}
{
"id": 11,
"title": "Ubuntu",
"content": "TEST",
"author": 2,
"tags": [
1,
3
]
}
那么,我们如何修复它呢?我的代码哪里出错了?提前谢谢我正在做类似的工作,如果我发现了什么,我会告诉你的。
{
"id": 11,
"title": "Ubuntu",
"content": "TEST",
"author": 2,
"tags": [
1,
3
]
}