首页 > 解决方案 > 在哪里使用通用类视图指定“use_natural_primary_keys”?

问题描述

我一直在阅读有关 natural_keys 的内容并将get_by_natural_key()andnatural_key()方法添加到我的模型中,但是 Django 文档(以及 SO 中的几篇文章)说:“然后,当您调用 时serializers.serialize(),您提供use_natural_foreign_keys=Trueuse_natural_primary_keys=True参数” ...跟随通过这个例子:

>>> serializers.serialize('json', [book1, book2], indent=2,
...      use_natural_foreign_keys=True, use_natural_primary_keys=True)

但是该示例来自在 python shell 中运行,而不是在将其放入代码的实际上下文中。在 DRF 中,我正在使用基于通用类的视图。在这种情况下,我应该在哪里指定这些论点?

编辑:最终目标是能够使用 natural_keys 而不是实际 ID 导入固定装置。

标签: pythondjangoserialization

解决方案


你根本不会这样做。serializers.serialize是 Django 的内置 - 也是非常基本的 - 序列化功能。但是您使用的是 DRF,它具有更强大的序列化能力。在 DRF 中,您将定义您的序列化程序以使用相关的关系字段

编辑但我根本不明白你的编辑。DRF 的通用视图与固定装置有什么关系?


推荐阅读