问题标签 [django-serializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
330 浏览

django - 如何将感知日期时间字段从 UTC 转换为本地

我有一个存储感知Datetime值的数据库。因此,例如Datetime数据库中的字段可以具有值2015-11-06 12:22:39.160983+01

当发生请求包含该值的记录的 api 调用时,响应过去是这样的2015-11-06T11:22:39.160983Z

然后我添加了

到模型序列化器,它是类的子HyperlinkedModelSerializer类,现在响应是这样的2015-11-06 11:22:39.160983

我想要的是能够将值转换回原始本地时间。这意味着我希望响应看起来像那样2015-11-06 12:22:39.160983。我怎样才能做到这一点?

0 投票
2 回答
639 浏览

json - Django:相互嵌套序列化程序

我正在弄清楚如何将序列化程序合并或嵌套到彼此中。在这个例子中,我有一个列模型(由Column类组成)和属于列模型的数据(由 组成Data class)。我的问题是我不知道如何从另一个序列化程序类调用 ModelSerializer 并传递参数(结果始终为空)。

如果我的模型在这种情况下是正确的,以及如何创建所需的 JSON,以便结果重用现有的序列化程序并避免重复任何数据,你能告诉我吗?

注意:在最好的情况下,数据属性应该相互依赖,以便只有那些定义为列的数据才能被序列化。

模型.py

期望的输出:

但是使用 ModelSerializer 的结果是这样的:

0 投票
2 回答
4417 浏览

python - DRF ListSerializer 错误:应为项目列表,但类型为“int”

我正在尝试通过传递many=True给序列化程序来序列化对象列表。如果我传递一个实例而不是一个没有 的列表many=True,则序列化程序可以工作。我仍在尝试了解序列化程序的工作原理,但在调试此问题时遇到了麻烦。我正在使用 DRF 3.3.0

查看:(下面第3行错误

序列化器:

追溯

0 投票
3 回答
2344 浏览

generics - Django从字符串中获取类

我正在寻找一种在 Python 中通过类名来实例化类的通用方法,其方式与在 Java 中的完成方式类似,而无需在 IF..ELIF 条件中显式指定类名。

这是因为我有几个不同的模型和序列化程序,并希望通过 HTTP 请求中的参数使它们可寻址。它是为了增强松散耦合和模块化。

例如https://www.domain.com/myapp/sampledata.json?model=<modelname>应该获取类<modelname><modelname>Serializer.

https://docs.djangoproject.com/en/1.7/ref/models/queries/自从 Django 1.7之前get_model用于类似目的以来,对此进行了一些更改。

从 Django 1.7 开始,不推荐使用 django.db.models.loading(将在 1.9 中删除),以支持新的应用程序加载系统。

警告:

RemovedInDjango19警告:django.db.models.loading 中的实用程序已被弃用,有利于新的应用程序加载系统。
返回 f(*args, **kwds)

应该如何修改以下代码以从字符串中获取类?

视图.py

0 投票
1 回答
97 浏览

django-rest-framework - 多个序列化器

你好,我有这个模型,我想序列化这个视图集

模型.py

我尝试如下

序列化程序.py

视图集.py

0 投票
9 回答
25148 浏览

python - AssertionError: `HyperlinkedIdentityField` 需要序列化程序上下文中的请求

我想建立一种many-to-many关系,一个人可以在很多俱乐部,一个俱乐部可以有很多人。我为以下逻辑添加了models.pyandserializers.py但是当我尝试在命令提示符中对其进行序列化时,我收到以下错误 - 我在这里做错了什么?我什至没有HyperlinkedIdentityField

models.py

serializers.py

views.py

检查创建的序列化程序给了我这个 -

serializer.data给了我错误

编辑

我意识到错误可能是因为url模式,所以我添加了以下 url 模式,但我仍然得到错误 -

0 投票
2 回答
1089 浏览

python - Django Rest Framework 实现多对多关系

我想建立一种many to many关系,一个人可以加入多个社交俱乐部,一个社交俱乐部可以有多个成员。这是我已经走了多远,但这不显示电影详细信息,并且序列化给了我一个错误-
Original exception text was: 'ManyRelatedManager' object has no attribute 'club_name'.

models.py

serializers.py

views.py

urls.py

在我的本地服务器上,我获得了将我导航到俱乐部详细信息视图的俱乐部列表,但它不显示电影名称,或者,但我看不到人员列表。我该如何正确地做到这一点?

0 投票
3 回答
8017 浏览

python - 尝试获取序列化程序上的字段值时出现 AttributeError

试图manytomany在 django 中建立关系,但出现以下错误 -

尝试获取name序列化程序 GenreSerializer 上的字段值时出现 AttributeError。序列化器字段可能命名不正确,并且与 Movie 实例上的任何属性或键都不匹配。原始异常文本是:“电影”对象没有属性“名称”。

这里有一个类似的答案推荐设置many=True,但它不起作用 - 尝试获取字段值时出现属性错误

模型.py

序列化程序.py

网址.py

视图.py

0 投票
3 回答
1727 浏览

json - Return display_name in ChoiceField

I'm implementing some REST API in DRF with ModelViewSet and ModelSerializer. All my APIs use the JSON format and some of my models use ChoiceField field, like that:

My problem is that by default DRF always returns (and accept) the key of these choices for JSON messages (see here), but I would like to use the label instead, because I think it's more consistent and clear to unterstand for who will use those APIs. Any suggestion?

0 投票
1 回答
71 浏览

python - 序列化将每个字符作为对象返回

我有一个简单的视图,我需要在其中返回 JSON 数据,但是在使用时django serializeJsonResponse会将每个字符作为对象返回。这是片段:

问题是如果我想打印response.content[0]它会返回一些随机数,因为它是响应的第一个字符。

有什么方法可以让响应像简单字典(JSON)一样被访问?