【发布时间】:2015-06-29 20:00:21
【问题描述】:
我正在尝试将相关模型的序列化对象包含在另一个序列化程序的自定义对象中,但我不知道该怎么做。
我有两个模型 - sn-p 和 user。片段模型具有用户的外键。我需要的是在 UserSerializer 的“get_included”方法中包含 sn-p 的序列化对象,并使 UserSerializer 返回一个 JSON 对象,如下所示:
{
"id" : 1,
"included": [
{'id': 2,'created': "20150729" },
{'id': 3,'created': "20150730" },
]
}
以下是我的代码。
# Snippet Model
from django.db import models
class Snippet(models.Model):
created = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey('auth.User', related_name='snippets')
# Snippet serializer
class SnippetSerializer(serializers.ModelSerializer):
model = Snippet
fields = ('id','created')
# User serializer
from .serializers import SnippetSerializer
class UserSerializer(serializers.ModelSerializer):
included = serializers.SerilizerMethodField()
class Meta:
model = User
depth = 1
fields = ('id','included')
def get_included(self, obj):
snippets = SnippetSerializer(many=True, read_only=True).data
return snippets
【问题讨论】:
标签: python django serialization django-models django-rest-framework