如何在Django Rest Framework可浏览API中显示对象详细信息?

约翰

此图像应该可以解释我的问题: 在此处输入图片说明

我有一个由两个外键组成的模型,如下所示:

class StaffRole(models.Model):
staff = models.ForeignKey(Staff, related_name='roles')
role = models.ForeignKey(Role, related_name='staff')

class Meta:
    unique_together = ('staff', 'role')

def __str__(self):
    return '%s / %s' % (self.staff, self.role)

它具有一个简单的序列化程序,如下所示:

class StaffRoleSerializer(serializers.HyperlinkedModelSerializer):
role = serializers.SlugRelatedField(
    queryset=Role.objects.all(),
    slug_field='slug'
)
staff = serializers.SlugRelatedField(
    queryset=Staff.objects.all(),
    slug_field='slug'
)

class Meta:
    model = StaffRole

我希望使用Django Rest Framework SlugRelatedField,可浏览API中的组合框将显示相关模型的组合,但是组合框中填充了单词“ Role Object”和“ Staff Object”,因此用户无法在组合框中告诉他们要选择哪个角色或哪些人员。

我该如何补救?

为了避免复杂性,我尝试使用默认的DRF序列化程序,例如SlugRelatedField,而不是编写自己的嵌套序列化程序。除了可浏览API中的组合框之外,所有内容都可以正常工作。

提前致谢

约翰

PS我并不是要使可浏览的API成为此应用程序的用户界面。但是我确实希望它能起作用,并且我认为它在开发周期中具有无价的价值。

乔伊·威廉

要更改这些表示,您需要__str__在模型上设置一个方法。而且,如果您使用的是Python 2,则还应该使用python_2_unicode_compatible装饰器装饰模型类例如:

from django.db import models
from django.utils.encoding import python_2_unicode_compatible


@python_2_unicode_compatible
class Role(models.Model):
    name = models.CharField(...)

    def __str__(self):
        return self.name

装饰器本质上将克隆该__str__方法,并使它也可以__unicode__作为Python 2使用。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django Rest Framework-“详细信息”:“未找到”。

来自分类Dev

如果找不到Django REST框架的详细信息,如何在ModelViewSet类中修改错误响应?

来自分类Dev

Django Rest Framework如何在可浏览的API上发布数据

来自分类Dev

Django REST Framework:如何在可浏览的UI中更改顶部条的颜色

来自分类Dev

如何在Django Rest Framework API中隐藏网址?

来自分类Dev

Django REST框架:嵌套对象可以在列表视图中访问其父对象的详细信息吗?

来自分类Dev

Django Rest Framework如何返回未在所有无效URL上找到的详细信息?

来自分类Dev

如何使用Django Rest Framework为列表和详细信息视图设置不同的序列化器?

来自分类Dev

如何在Django REST Framework中禁用身份验证

来自分类Dev

如何在Django Rest Framework中以403错误返回数据?

来自分类Dev

如何在Django REST Framework中测试视图混合?

来自分类Dev

如何在django-rest-framework POST中包含ForeignKey

来自分类Dev

如何在Django-Rest-Framework中更新ManyToMany“ self”

来自分类Dev

如何在Django REST Framework中设置POST请求的权限?

来自分类Dev

如何在Django REST Framework中修复UnicodeDecodeError?

来自分类Dev

如何在Django Rest Framework中处理文件?

来自分类Dev

如何在Django REST Framework中实现简单的“喜欢”功能?

来自分类Dev

如何在Django Rest Framework中动态设置分页?

来自分类Dev

如何在Django Rest Framework中获得模型方法的价值?

来自分类Dev

如何在Django Rest Framework中动态更新视图集

来自分类Dev

如何在Django Rest Framework中序列化ChoiceFields?

来自分类Dev

如何在Django Rest Framework中不转义字符

来自分类Dev

如何在Django Rest框架中设置嵌套对象?

来自分类Dev

如何在Serializer Django Rest中创建子对象?

来自分类Dev

Django REST Framework可浏览的api过滤器控件未显示

来自分类Dev

Django Rest Framework可浏览的API过滤器后端未显示

来自分类Dev

如何在Django REST API中查看多个API?

来自分类Dev

如何在Django Rest Api中删除集合?

来自分类Dev

如何在Django Rest Api中删除集合?

Related 相关文章

  1. 1

    Django Rest Framework-“详细信息”:“未找到”。

  2. 2

    如果找不到Django REST框架的详细信息,如何在ModelViewSet类中修改错误响应?

  3. 3

    Django Rest Framework如何在可浏览的API上发布数据

  4. 4

    Django REST Framework:如何在可浏览的UI中更改顶部条的颜色

  5. 5

    如何在Django Rest Framework API中隐藏网址?

  6. 6

    Django REST框架:嵌套对象可以在列表视图中访问其父对象的详细信息吗?

  7. 7

    Django Rest Framework如何返回未在所有无效URL上找到的详细信息?

  8. 8

    如何使用Django Rest Framework为列表和详细信息视图设置不同的序列化器?

  9. 9

    如何在Django REST Framework中禁用身份验证

  10. 10

    如何在Django Rest Framework中以403错误返回数据?

  11. 11

    如何在Django REST Framework中测试视图混合?

  12. 12

    如何在django-rest-framework POST中包含ForeignKey

  13. 13

    如何在Django-Rest-Framework中更新ManyToMany“ self”

  14. 14

    如何在Django REST Framework中设置POST请求的权限?

  15. 15

    如何在Django REST Framework中修复UnicodeDecodeError?

  16. 16

    如何在Django Rest Framework中处理文件?

  17. 17

    如何在Django REST Framework中实现简单的“喜欢”功能?

  18. 18

    如何在Django Rest Framework中动态设置分页?

  19. 19

    如何在Django Rest Framework中获得模型方法的价值?

  20. 20

    如何在Django Rest Framework中动态更新视图集

  21. 21

    如何在Django Rest Framework中序列化ChoiceFields?

  22. 22

    如何在Django Rest Framework中不转义字符

  23. 23

    如何在Django Rest框架中设置嵌套对象?

  24. 24

    如何在Serializer Django Rest中创建子对象?

  25. 25

    Django REST Framework可浏览的api过滤器控件未显示

  26. 26

    Django Rest Framework可浏览的API过滤器后端未显示

  27. 27

    如何在Django REST API中查看多个API?

  28. 28

    如何在Django Rest Api中删除集合?

  29. 29

    如何在Django Rest Api中删除集合?

热门标签

归档