我想创建一个包含嵌套对象数组的ListView。以下是我迄今为止的尝试:
休息.py
class GroupDetailSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = (
'id',
'num',
'students',
)
@permission_classes((permissions.IsAdminUser,))
class GroupDetailView(mixins.ListModelMixin, viewsets.GenericViewSet):
serializer_class = GroupDetailSerializer
def get_queryset(self):
return Group.objects.all()
型号.py
class Group(models.Model):
office = models.ForeignKey(Offices)
num = models.IntegerField()
@property
def students(self):
from pupils.models import Pupils
return Pupils.objects.filter(group=self)
但它返回一个类型错误:
<Pupils: John Doe> is not JSON serializable
我想我需要在我的students
字段上使用另一个序列化程序,但是如何使用呢?你知道吗
错误是因为您的模型不可json序列化。你知道吗
您可以看到@yuwang comment来跟踪嵌套序列化程序http://www.django-rest-framework.org/api-guide/serializers/#dealing-with-nested-objects
或者现在,特别是在这种情况下,您可以将代码更改为:
相关问题 更多 >
编程相关推荐