[英]Django restframework import data from another table?
我将Django rest框架与MySQL结合使用。
让我解释一下我的两张桌子。
[文章]
-articleNo(主键)
-内容
[评论]
-articleNo(从FK到article)
- 用户密钥
-评论
我想将评论数据导入artice表。
class articleDetailSerializer(serializers.ModelSerializer):
userkey = userSerializer(read_only=True)
likeCount = serializers.IntegerField(source='like_set.count', read_only=True)
commentCount = serializers.IntegerField(source='comment_set.count', read_only=True)
comment = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta:
model = article
fields = ('articleNo', 'userkey', 'content', 'likeCount', 'commentCount', 'comment')
class commentSerializer(serializers.ModelSerializer):
class Meta:
model = comment
fields = ('articleNo', 'content', 'userkey')
当我访问/ article时,当前输出为:
{
"articleNo": 26,
"userkey": {
"userkey": "121212",
"username": "Da"
},
"content": "test",
"likeCount": 3,
"comment": [
1,
2,
3
]
},
我想将其输出为:
{
"articleNo": 26,
"userkey": {
"userkey": "121212",
"username": "Da"
},
"content": "test",
"likeCount": 3,
"comment": [
{
articleNo: 26,
userkey: "12345",
content: "first comment"
},
{
articleNo: 26,
userkey: "23456",
content: "second comment"
},
{
articleNo: 26,
userkey: "33333",
content: "third comment"
},
]
},
可以用Rest框架实现吗?
谢谢。
您需要在commentSerializer
内将comment
字段的类型从PrimaryKeyField
更改为articleDetailSerializer
:
class articleDetailSerializer(serializers.ModelSerializer):
...
comment = commentSerializer(many=True, read_only=True)
class Meta:
model = article
fields = ('articleNo', 'userkey', 'content', 'likeCount', 'commentCount', 'comment')
在这里查看详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.