我有两种型号: 在哪里
class Hunter(Model):
name = CharField()
搜索
^{pr2}$我的序列化程序是
class AnonymousTargetSerializer(ModelSerializer):
class Meta:
name = 'target'
model = Target
fields = ['id',]
还有
class TargetSerializer(ModelSerializer):
class Meta:
name = 'target'
model = Target
fields = ['id',]
在我的视图集中,我想:
hunter = Hunter.objects.get(user=self.request.user)
if hunter in Target.approved_hunters.all()
return TagetSerializer
else:
return AnonymousTargetSerializer
不过,我似乎只对视图集完成了这项工作,但无法在单个对象级别上进行过滤。在
如果需要基于某些属性修改对象的表示形式,可以重写序列化程序的^{} 方法:
在viewset中,您不需要任何自定义,只需使用
^{pr2}$TargetSerializer
:相关问题 更多 >
编程相关推荐