【发布时间】:2013-06-19 20:28:20
【问题描述】:
我有一个关于处理 m2m / through 模型及其在 django rest 框架中的演示的问题。举个经典的例子:
models.py:
from django.db import models
class Member(models.Model):
name = models.CharField(max_length = 20)
groups = models.ManyToManyField('Group', through = 'Membership')
class Group(models.Model):
name = models.CharField(max_length = 20)
class Membership(models.Model):
member = models.ForeignKey('Member')
group = models.ForeignKey('Group')
join_date = models.DateTimeField()
serializers.py:
imports...
class MemberSerializer(ModelSerializer):
class Meta:
model = Member
class GroupSerializer(ModelSerializer):
class Meta:
model = Group
views.py:
imports...
class MemberViewSet(ModelViewSet):
queryset = Member.objects.all()
serializer_class = MemberSerializer
class GroupViewSet(ModelViewSet):
queryset = Group.objects.all()
serializer_class = GroupSerializer
在获取 Member 实例时,我成功接收到所有成员的字段及其组 - 但是我只获取组的详细信息,没有来自 Membership 模型的额外详细信息。
换句话说,我期望收到:
{
'id' : 2,
'name' : 'some member',
'groups' : [
{
'id' : 55,
'name' : 'group 1'
'join_date' : 34151564
},
{
'id' : 56,
'name' : 'group 2'
'join_date' : 11200299
}
]
}
注意加入日期。
我已经尝试了很多解决方案,当然包括Django Rest-Framework official page about it,但似乎没有人对此给出正确的简单答案 - 我需要做什么才能包含这些额外的字段?我发现使用 django-tastypie 更直接,但还有一些其他问题,并且更喜欢 rest-framework。
【问题讨论】:
-
这是为了美味的馅饼,我正在使用 Django Rest Framework。
-
你可以在这里找到最新的答案stackoverflow.com/questions/41976819/…
标签: python django django-rest-framework