django - 在Django Rest Framework序列化器中合并两个字段

标签 django django-rest-framework

我正在使用带有默认用户表的Django Rest Framework身份验证系统。在该表中,它在两个不同的char字段中拆分了名字和姓氏。

是否可以在序列化器中加入这两个字段?像这样的东西:

class UserSerializer(serializers.ModelSerializer):
    full_name = serializers.CharField(source='user.first_name' + ' ' + 'user.last_name')

这样我将得到以下响应:
{
    full_name: "firs_name last_name"
}

最佳答案

您可以在序列化程序中创建方法,并通过SerializerMethodField显示它

class UserSerializer(serializers.ModelSerializer):
    full_name = serializers.SerializerMethodField()

    def get_full_name(self, obj):
        return '{} {}'.format(obj.first_name, obj.last_name) 

关于django - 在Django Rest Framework序列化器中合并两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39387803/

相关文章:

python - 优化这个 Django 代码?

python - 导入错误 : No module named django_extensions

Django 自定义 UserModel 中的 id 问题

mysql - Django ForeignKey(用户),自动完成

python - 带有模型的 Django QuerySet

python - Django/ Bootstrap 错误 : Parameter "form" should contain a valid Django Form

Django Rest Framework 不会同时显示多个 URL?

python - Django WebSocket 断开/ws/聊天/大厅/[127.0.0.1 :3022]

python - Django 数据迁移类型转换问题

django - 在 Django Rest Framework 中过滤详细结果