Pro*_*eus 6 python django django-models django-rest-framework
我有一个模型方法,要求请求用户作为额外参数传入:
模型方法:
def has_achieved(self, user):
return AwardLog.objects.filter(user=user, badge=self).count() > 0
Run Code Online (Sandbox Code Playgroud)
使用Django Rest Framework我想调用这个put不知道如何传递来自Serializer的额外参数:
class BadgeSerializer(serializers.ModelSerializer):
achieved = serializers.SerializerMethodField(source='has_achieved(request.user???)')
class Meta:
model = Badge
fields = ("name", "achieved")
Run Code Online (Sandbox Code Playgroud)
我无法在任何地方找到这种情况.我的视图中是否有一个方法可以覆盖以传递并使用?谢谢.
Pro*_*eus 14
为了跟进,我通过使用self.context['request'].userie做了.
def has_achieved(self, obj):
return obj.has_achieved(self.context['request'].user)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4523 次 |
| 最近记录: |