【问题标题】:Pass context when serializing queryset in django在 Django 中序列化查询集时传递上下文
【发布时间】:2021-07-12 06:46:00
【问题描述】:

我是 Django 新手,我正在尝试使用 DjangoSerializer 序列化查询集,但 SerializerMethodField 之一需要用户实例。那么如何在上下文中传递用户实例呢?

projects = Project.objects.all().order_by('name')
serializer = ProjectSerializer(projects, context={'request': request}, many=True)

您可以假设请求中有用户。

感谢您的帮助。

【问题讨论】:

    标签: python django


    【解决方案1】:

    你可以更新你的上下文:

    context={'user': request.user}
    

    或在您的SerializerMethodField 中,使用来自self.context 的请求:

    self.context['request'].user
    

    【讨论】:

    • 我已经这样做了。但我也没有在序列化程序中接收上下文。
    • 你能分享你的序列化代码吗?并指出它不工作的地方?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2015-09-27
    • 1970-01-01
    • 2017-11-28
    • 2021-05-08
    • 2014-12-19
    • 2021-12-27
    相关资源
    最近更新 更多