我使用Django REST Framework,我有一个像这样的django模型类:
class Venue(models.Model):
user=models.ForeignKey(User)
然后我想要序列化这个:
from rest_framework import serializers
import models
class VenueSerializer(serializers.ModelSerializer):
class Meta:
model=models.Venue
fields=('id','user','is_current_user')
其中is_current_user
是一个布尔值,不知怎的就像这样
def is_current_user(self):
return self.request.user==self.user
我该怎么做?我是否在串行器中有请求?或者我应该在模型的某个地方做这个?
不太方便的选择是:
答案 0 :(得分:1)
我建议使用SerializerMethodField:
class VenueSerializer(serializers.ModelSerializer):
class Meta:
model=models.Venue
fields=('id','user','is_current_user')
def get_is_current_user(self, obj):
return self.context['request'].user == obj.user