【发布时间】:2014-07-05 10:06:23
【问题描述】:
我正在尝试使用以下示例来理解 mixins 的概念:
我有一个使用 DRF 的简单序列化程序:
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = Test
fields = ('url', 'name', 'user')
我想创建一个 mixin,通过添加检查用户是否拥有对象并仅显示这些项目来增强(覆盖类 get_queryset)任何自定义序列化程序...
def get_queryset(self):
"""
This view should return a list of all the items
for the currently authenticated user.
"""
user = self.request.user
return ???????.objects.filter(user=user)
所以我的 TestSerializer 看起来像这样:
class TestSerializer(serializers.ModelSerializer, UserListMixin):
etc
和 UserListMixin:
class UserListMixin(object):
"""
Filtering based on the value of request.user.
"""
def get_queryset(self, *args, **kwargs):
"""
This view should return a list of all the purchases
for the currently authenticated user.
"""
user = self.request.user
return super([?????????], self).get_queryset(*args, **kwargs).filter(user=user)
我遇到的困难是创建 UserListMixin 类。如何根据我扩展 return [OBJECT].objects.filter(user=user) 的内容返回正确的对象,这种方法是否有效?
【问题讨论】:
-
this answer 可以帮助你...
标签: python django-rest-framework mixins