【发布时间】:2015-07-20 12:15:04
【问题描述】:
有两个表 user, phone 由中间表 owner 链接。这里的目标是使用 Rest API 从特定用户那里获取所有手机,
http://127.0.0.1/users/alice/phones/.
我使用ModelSerializer 作为序列化程序,使用ViewSet 作为视图。请让我知道如何完成这项工作?我不知道如何路由/users/user_name/phones/ 从特定用户那里获取电话。
谢谢。
代码sn-p:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model=User
class PhoneSerializer(serializers.ModelSerializer):
class Meta:
model=Phone
class OwnerSerializer(serializers.ModelSerializer):
class Meta:
model=Owner
depth=1
// views
class UserViewSet(viewsets.ModelViewSet):
queryset=User.objects.all()
serializer_class=UserSerializer
class PhoneViewSet(viewsets.ModelViewSet):
queryset=Phone.objects.all()
serializer_class=PhoneSerializer
....
【问题讨论】:
-
这个网址重要吗:
/users/user_name/phones/或者你可以用这个/phones/?user=user_name? -
/users/user_name/phones/ 和 /phones/?user=user_name 都可以。前者更像是 Rest 风格。
标签: django rest django-rest-framework