我希望将对象索引作为" resource_uri"而是id 我采用通常的方式制作模型,视图,序列化器:
class User(BaseModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
models.CharField()
class UserSerailizers(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id','user','formatted_address')
classclass UserList(generics.ListCreateAPIView):
queryset = Image.objects.all()
serializer_class = UserSerializer
当我打电话给< my_domain / user />我收到了这个回复
{
id:1,
name:'toto'
}
但我希望得到这个表格的答案:
{
'url': my_domain/user/1/
'name': 'toto'
}
有什么想法吗?
答案 0 :(得分:0)
如果您想在模型表示中使用超链接而不是主键,则必须使用HyperlinkedModelSerializer
或更多通用Serializer
以及HyperlinkedIdentityField
和/或{{1} }。前者可能就是你要找的东西。
HyperlinkedRelatedField
类类似于HyperlinkedModelSerializer
类,除了它使用超链接来表示关系,而不是主键。
有关更多详细信息,请参阅Django REST框架documentation。
答案 1 :(得分:0)
如前所述,您需要使用已显示的HyperlinkedModelSerializer。
lookup_field属性应该在Meta类中。
最新的猜测是:你的用户模型只有一个ListView。为了显示用户的详细信息,还需要检索方法。我建议您使用ModelViewset,以便自动实现所有方法。