Django Rest Framework,使嵌套关系超链接

乐观主义者

我有两种模型:UserTicket票证有一个用户用户有多个票证

我已经实现了,当我转到url / users / 1 / tickets时,我正在获取用户的票证列表。

我想使用超链接关系,这是我在用户模型表示中看到的内容:

"tickets": [
    "http://127.0.0.1:8000/tickets/5/", 
    "http://127.0.0.1:8000/tickets/6/"
]

但我希望它像

"tickets": "http://127.0.0.1:8000/users/1/tickets"

有没有办法用DRF做到这一点?

网址:

    url(r'^users/(?P<user_pk>\d+)/tickets/$',
    views.TicketsByUserList.as_view(),
    name='myuser-tickets'),

风景:

class TicketsByUserList(generics.ListAPIView):
    model = Ticket
    serializer_class = TicketSerializer

    def get_queryset(self):
        user_pk = self.kwargs.get('user_pk', None)
        if user_pk is not None:
            return Ticket.objects.filter(user=user_pk)
        return []

用户序列化程序(我尝试使用票证字段定义,更改类型,view_name,但无效):

class UserSerializer(serializers.HyperlinkedModelSerializer):
    tickets = serializers.HyperlinkedRelatedField(many=True, view_name='ticket-detail')

    class Meta:
        model = MyUser
        fields = ('id', 'nickname', 'email', 'tickets')

票证序列化器:

class TicketSerializer(serializers.HyperlinkedModelSerializer):
    user = serializers.HyperlinkedRelatedField(view_name='myuser-detail')
    liked = serializers.Field(source='liked')

    class Meta:
        model = Ticket
        fields = ('id', 'user', 'word', 'transcription', 'translation', 'liked', 'created', 'updated')
乔·霍洛威

您可以使用SerializerMethodField对其进行自定义。像这样:

class UserSerializer(serializers.HyperlinkedModelSerializer):
    tickets = serializers.SerializerMethodField('get_tickets')

    def get_tickets(self, obj):
        return "http://127.0.0.1:8000/users/%d/tickets" % obj.id

    class Meta:
        model = MyUser
        fields = ('id', 'nickname', 'email', 'tickets')

为了简洁起见,我在其中硬性连接了URL,但是您也可以进行反向查找。这基本上只是告诉它调用get_tickets方法而不是超类中的默认行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Django Rest Framework中建立嵌套关系的超链接字段?

来自分类Dev

测试Django Rest Framework时创建超链接关系

来自分类Dev

Django-Rest-Framework关系和超链接API问题

来自分类Dev

Django REST Framework url 链接 - 无法解析超链接关系的 URL

来自分类Dev

Django Rest Framework嵌套关系

来自分类Dev

Django REST Framework:何时创建超链接资源以及何时嵌套资源?如何发布嵌套资源?

来自分类Dev

Django REST Framework:无法使用视图名称解析超链接关系的URL

来自分类Dev

Django Rest Framework-配置不正确:无法解析超链接关系的URL

来自分类Dev

Django REST Framework:无法使用视图名称解析超链接关系的URL

来自分类Dev

Django Rest Framework-嵌套关系平整

来自分类Dev

Django-Rest-Framework。通过查询参数的超链接实体

来自分类Dev

Django Rest Framework:查找超链接模型的URL

来自分类Dev

Django Rest Framework 3.0:保存嵌套的多对一关系

来自分类Dev

无法在Django Rest Framework中呈现嵌套关系

来自分类Dev

Django REST框架:动态序列化程序关系字段-POST pk但获取超链接

来自分类Dev

Django Rest Framework:管理关系

来自分类Dev

Django rest_framework关系

来自分类Dev

Django Rest Framework超链接名称空间配置不正确

来自分类Dev

Django REST Framework 中的命名空间超链接序列化程序

来自分类Dev

Django Rest嵌套关系不起作用

来自分类Dev

django rest-farmework嵌套关系

来自分类Dev

Django Rest Framework实现多对多关系

来自分类Dev

Django Rest Framework-OneToOne反向关系

来自分类Dev

Django Rest Framework中的关系条件检查

来自分类Dev

Django Rest框架关系

来自分类Dev

嵌套关系序列化程序中的Django Rest Framework模型ID字段

来自分类Dev

嵌套序列化程序中的Django Rest Framework关系查询

来自分类Dev

Django Rest Framework序列化器的形式和嵌套关系

来自分类Dev

Django Rest Framework 嵌套关系集字段“read_only=True”

Related 相关文章

  1. 1

    如何在Django Rest Framework中建立嵌套关系的超链接字段?

  2. 2

    测试Django Rest Framework时创建超链接关系

  3. 3

    Django-Rest-Framework关系和超链接API问题

  4. 4

    Django REST Framework url 链接 - 无法解析超链接关系的 URL

  5. 5

    Django Rest Framework嵌套关系

  6. 6

    Django REST Framework:何时创建超链接资源以及何时嵌套资源?如何发布嵌套资源?

  7. 7

    Django REST Framework:无法使用视图名称解析超链接关系的URL

  8. 8

    Django Rest Framework-配置不正确:无法解析超链接关系的URL

  9. 9

    Django REST Framework:无法使用视图名称解析超链接关系的URL

  10. 10

    Django Rest Framework-嵌套关系平整

  11. 11

    Django-Rest-Framework。通过查询参数的超链接实体

  12. 12

    Django Rest Framework:查找超链接模型的URL

  13. 13

    Django Rest Framework 3.0:保存嵌套的多对一关系

  14. 14

    无法在Django Rest Framework中呈现嵌套关系

  15. 15

    Django REST框架:动态序列化程序关系字段-POST pk但获取超链接

  16. 16

    Django Rest Framework:管理关系

  17. 17

    Django rest_framework关系

  18. 18

    Django Rest Framework超链接名称空间配置不正确

  19. 19

    Django REST Framework 中的命名空间超链接序列化程序

  20. 20

    Django Rest嵌套关系不起作用

  21. 21

    django rest-farmework嵌套关系

  22. 22

    Django Rest Framework实现多对多关系

  23. 23

    Django Rest Framework-OneToOne反向关系

  24. 24

    Django Rest Framework中的关系条件检查

  25. 25

    Django Rest框架关系

  26. 26

    嵌套关系序列化程序中的Django Rest Framework模型ID字段

  27. 27

    嵌套序列化程序中的Django Rest Framework关系查询

  28. 28

    Django Rest Framework序列化器的形式和嵌套关系

  29. 29

    Django Rest Framework 嵌套关系集字段“read_only=True”

热门标签

归档