问题标签 [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 投票
2 回答
1685 浏览

python - Django Rest Framework 自定义字段只有一对值(没有字段名作为 dict 键)

嗨,我想在 REST 服务上只提供一对没有键的值:

看看我的serializers.py

结果如下:

如您所见,此结果将字段名称显示为该字段值旁边的 dict 键。但我想有一个不同的结构。如下所示:

此示例显示了一对键/值,其中键是语言字段值,字典的值是翻译字段的值。

如何仅显示带有“已翻译”字段的“语言”字段的值对而没有字段名称?

0 投票
2 回答
4879 浏览

python - 对象没有属性'build_absolute_uri' - Django Rest Framework

我正在尝试在我的 api 中查看一个 url(使用 Django Rest Framework),但我收到以下错误:

我不确定这意味着什么,所以任何帮助将不胜感激。

这是回溯:

我假设它指的是我的模型,所以这也是:

预先感谢您的帮助!

- - 编辑:

序列化程序.py:

列表API视图:

0 投票
1 回答
2608 浏览

python - 没有获取表单以在 Django REST 框架中发布数据

我在 Django rest 框架中使用基于函数的视图。但是当我在浏览器中打开网页时,我没有获取发布数据的表单。当我向下滚动获取媒体类型和内容选项而不是我的模型字段时。在我的模型中,我有 user_name、user_email 字段,但没有显示在那里。我需要为此使用基于类的视图吗?下面是截图。

截屏

0 投票
1 回答
391 浏览

python - 在 DRF ModelSerializer 中生成自定义响应

我需要一些帮助,我用过ModelSerializerDRF这里是问题:

我想动态生成响应,我的意思是我决定用户的输入,所以我需要将请求参数传递给ModelSerializer,然后决定我的条件是否成立,生成字段,否则生成一些其他字段。

像这样的东西:

我已经用谷歌搜索并知道我可以将参数传递context给序列化程序,但在序列化程序中我需要通过self对象获取参数。

我怎样才能做到这一点?

0 投票
1 回答
577 浏览

django - 外键上的Django rest框架序列化

我有一个 django 模型如下:

我有如下序列化程序:

B 序列化器的工作原理如下:

我必须进行什么调整才能使其结果如下:

0 投票
1 回答
842 浏览

django-rest-framework - 如何在 django 中将用户配置文件添加到 UserDetailsS​​erializer

尝试添加userprofileuser模型

使用
django rest 框架。
rest-auth 模块

但行profile = instance.userprofile给出错误
*** django.db.models.fields.related.RelatedObjectDoesNotExist: User has no userprofile.

遵循此处的说明

另外,不确定super声明中发生了什么

可能的错误:
1.在语句之后instance没有,因此语句给出错误2.需要添加到userprofilesuper
profile = instance.userprofile
userprofileUserDetailsSerializer

UserDetailsS​​erializer

用户序列化器

如果需要,请要求更清楚。
提前致谢。

0 投票
2 回答
175 浏览

django - 如何将用户配置文件定义为 UserDetialsSerializer?

我希望能够通过 :语句访问userprofile实例
profile = instance.userprofileUserSerializer

instance通过以下方式创建:
instance = super(UserSerializer, self).update(instance, validated_data)语句 UserSerializer

既然UserSerializer是继承UserDetailsSerializer,我想我应该定义一个userprofilein UserDetailsSerializer
但我不知道该怎么做?

问题:如何定义userprofileUserDetailsSerializer实现上述?

用户序列化器:

UserDetailsS​​erializer:

用户档案模型:

请问是否需要更清楚?

0 投票
1 回答
6177 浏览

python - 如何在 DRF 中序列化自定义用户模型

我通过参考教程制作了一个自定义用户模型,这就是我序列化新用户模型的方式:

序列化程序.py

视图.py

但是当我尝试使用这个序列化程序时,我得到了

“str”对象没有属性“_meta”

我做错了什么?

0 投票
1 回答
1949 浏览

python - Django Rest Framework 嵌套对象序列化,深度 >= 2

我正在使用 Django Rest Framework 构建 API。我想发布一个像这样的takeoutOrder JSON 对象:

我的模型如下所示:

我的序列化器看起来像这样:

当我尝试使用此设置发布到/takeoutOrder端点时,我成功创建了一个对象,但是餐点的组件数组为空(我相信这是因为在创建餐点时尚未创建组件)。关于如何更好地编写我的序列化 create() 方法的任何想法或任何其他建议?我有点卡住了。

如果有另一篇回答这个问题的帖子提前道歉,我找了一会儿但找不到。

谢谢!!

0 投票
1 回答
304 浏览

django - Django 到 DjangoRestFramework - 我在哪里进行表单验证(我不再使用 forms.py - 我正在使用 serializers.py)

我以前只使用 Django,但最近开始使用 DjangoRestFramework。没有 DjangoRestFramework,这是我的 forms.py:

我曾经将此表单传递到前端,然后当用户填写并点击提交时,在后端我会这样做:

验证表单是否有效。但是,现在我正在使用 DRF 和序列化程序,forms.py 中没有任何内容。我只是像这样在前端创建表单:

当用户单击提交时,AngularJS 将其发送到后端,如下所示:

数据发布到的 URL 是“/users”,处理它的视图是:

所以当我这样做时会发生验证:

话虽如此,由于我不再使用 RegistrationForm,因此不会执行额外的 clean_username() 和 clean_password2() 函数。我以前不使用 DRF 时进行表单验证的正确位置在哪里?