请考虑以下示例。我有两个模型,一个Author和一个Article。它们看起来像这样:
# author.py
from django.db import models
class Author(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def __str__(self):
return self.first_name
# article.py
from django.db import models
from authors.models import Author
class Article(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
text = models.TextField()
def __str__(self):
return self.text
我的序列化程序看起来像这样:
from rest_framework import serializers
from .models import Article
from authors.serializers import AuthorSerializer
class ArticleSerializer(serializers.ModelSerializer):
author = AuthorSerializer()
class Meta:
model = Article
fields = '__all__'
from rest_framework import serializers
from .models import Author
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = '__all__'
现在,如果我想从我的 API 中获取文章,那很简单。获取文章会附上作者,这一切都很好——但我如何得到相反的结果?例如,如果我想让作者拥有他们撰写的最新 5 篇文章?所以预期的输出将是这样的:
{
"first_name": "Sethen",
"last_name": "Maleno",
"articles": [
{
"text": "some article"
},
{
"text": "another article"
}
]
}
慕容3067478
相关分类