首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动将'Created_By‘下的登录用户添加到Django Rest框架的模型中

在Django Rest框架中,可以通过自定义序列化器来实现将'Created_By'下的登录用户添加到模型中的功能。下面是一个完整且全面的答案:

在Django Rest框架中,可以通过使用自定义序列化器来将'Created_By'下的登录用户添加到模型中。序列化器是Django Rest框架的核心组件之一,用于处理数据的序列化和反序列化。

首先,我们需要定义一个包含所有字段的模型,并将'Created_By'字段添加到模型中,用于保存登录用户的信息。例如:

代码语言:txt
复制
from django.db import models
from django.contrib.auth.models import User

class MyModel(models.Model):
    created_by = models.ForeignKey(User, on_delete=models.CASCADE)
    # 其他字段...

接下来,我们需要创建一个序列化器来序列化和反序列化模型数据。序列化器负责将模型实例转换为JSON格式的数据以及将JSON数据转换为模型实例。在序列化器中,我们可以重写create方法,以便在创建新的模型实例时自动设置'Created_By'字段为当前登录用户。例如:

代码语言:txt
复制
from rest_framework import serializers

class MyModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = '__all__'
    
    def create(self, validated_data):
        # 将'Created_By'字段设置为当前登录用户
        validated_data['created_by'] = self.context['request'].user
        return super().create(validated_data)

在上述代码中,self.context['request'].user用于获取当前请求的登录用户。通过将登录用户赋值给validated_data['created_by'],我们可以确保在创建新的模型实例时将'Created_By'字段设置为当前登录用户。

接下来,我们可以使用该序列化器在视图中进行数据的序列化和反序列化操作。例如:

代码语言:txt
复制
from rest_framework import generics

class MyModelListCreateView(generics.ListCreateAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer

在上述视图中,我们指定了查询集和序列化器。当执行POST请求创建新的模型实例时,Django Rest框架会自动使用MyModelSerializer中的create方法,并将当前登录用户赋值给'Created_By'字段。

通过以上步骤,我们成功实现了将'Created_By'下的登录用户添加到Django Rest框架模型中的功能。

在腾讯云中,推荐使用腾讯云的服务器托管服务(CVM)来部署Django Rest框架应用。CVM提供了稳定可靠的云服务器资源,并支持灵活的配置和管理。您可以在腾讯云官网了解更多关于CVM的详细信息:腾讯云CVM产品介绍

另外,腾讯云还提供了丰富的数据库服务,如云数据库MySQL、云数据库MongoDB等,您可以根据具体需求选择适合的数据库服务。您可以在腾讯云官网了解更多关于数据库服务的详细信息:腾讯云数据库产品介绍

以上是关于自动将'Created_By'下的登录用户添加到Django Rest框架模型中的完善且全面的答案,希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

简化 Django 开发八个 Python 包 | Linux 中国

打开 Django 管理 shell,这个 shell 已经自动导入了所有的数据库模型。...处理 Django REST 框架用户认证:django-rest-auth  如果 Django 开发涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...如果你在用 DRF,那么你应该试试 django-rest-auth,它提供了用户注册、登录/注销,密码重置和社交媒体认证端点(是通过添加 django-allauth 支持来实现,这两个包协作得很好...Django REST 框架 API 可视化:django-rest-swagger  Django REST Swagger[23] 提供了一个功能丰富用户界面,用来和 Django REST 框架...你只需要安装 Django REST Swagger,把它添加到 Django 项目的已安装应用,然后在 urls.py 添加 Swagger 视图和 URL 模式就可以了,剩下事情交给 API

2.9K20
  • 让你Django应用变DRY几个最佳实践

    目前在PythonWeb框架中被应用最广泛就是DjangoDjango REST Framework. 这两种框架都提供了非常健壮功能,能满足Web开发各个方面。...DjangoDjango REST framework(后简称DRF)提供了海量全局配置、局部配置,来实现上述思想,但配置项太多了,有时人们往往不知道该如何利用。 一、用户鉴权 1....使用时通过django.contrib.auth.authenticate函数,传入想要参数,该函数会自动选择对应后端进行用户校验,常用校验方式有数据库校验、配置文件校验、LDAP校验等等。...传入参数相同,返回一个用户对象,然后这个Backend添加到AUTHENTICATION_BACKENDS就可以了。...注意:在使用到用户模型时候,要使用django.contrib.auth.get_user_model()而不是导入具体model类,这样可以方便用AUTH_USER_MODEL配置去改变用户模型

    1.7K50

    Django + Vue 快速实现前后端分离用户认证

    今天,州先生就用一个 Django + Vue 组合,快速实现一个前后端分离单页用户登录 Web 应用,以供大家参考。...所选用框架有: Django 2.2 django-cors-headers Django REST framework PearAdminAnt(Vue3) 开始吧!...构建 Django 认证后端 首先,我们来构建一个 Django 认证后端,用于用户注册、登录、认证处理。 在这里,我们使用Django 自带用户模型。...修改 UserBackend/UserBackend/settings.py 文件, app_auth 和 DRF 框架添加到应用列表,在 28 行附近: ALLOWED_HOSTS = ['*']...用户名已被注册: ? 登录成功: ? 登录失败: ? 构建 Vue 前端页面 在完成后端接口编写后,我们接着在构建前端页面。

    5.1K50

    python教程

    Django提供表单(Form)类和模型表单(ModelForm)类相同方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...没有授权请求应该只有只读权限。 在我们模型添加信息 我们打算对我们Snippet模型类做些改变。首先,让我们添加几个字段。其中一个字段显示出哪个用户创建里snippet数据。...下面两个字段添加到Snippet模型,在snippets/models.py。...python manage.py createsuperuser 为我们用户模型添加端点 既然我们已经创建了多个用户,那么我们最好将用户添加到我们API。很容易创建一个新序列。...视图集(ViewSets)和路由(Routers) REST框架包括对ViewSets简短描述,这可以让开发者把精力集中在构建状态和交互API模型,而且它可以基于一般规范自动构建URL。

    5.1K10

    django-db-comments: model移行时自动生成 table,column逻辑名称

    Django migrate迁移是 Django 将对模型model修改(例如增加一个字段,删除一个模型)应用至数据库架构方式。生成移行文件时,自动差分。...\manage.py migrate # 已生成移行文件,反映到数据库生成移行文件,在各app·migrations文件夹下,例:app:master图片移行文件反映成功的话,存储在Django_migrations...表图片移行后数据库表,没有表名,和列名注释图片django-db-comments:model移行时,自动作成伦理名(model コラム 論理名・コメント)django model field comment...in database可以model定义 【verbose_name】,【 help_text】添加到数据库表/列伦理名。...SCHEMA public TO postgres;GRANT ALL ON SCHEMA public TO public;2,已生成移行文件,全部删除(各app【migrations】文件夹整体删除即可

    77200

    Django开发常用30个软件包

    / 点评:增强 Django 内置 django.contrib.auth 模块,提供登录、注册、邮件验证、找回密码等一切用户验证相关功能。...Django REST 框架 构建REST API优秀框架,可管理内容协商、序列化、分页等,开发者可以在浏览器浏览构建API。  ...这是在像 Django Rest Framework(称 DRF)这样 API 框架发布之前,大多数人所做。...Django stored messages 可以很好地集成在Django消息框架django.contrib.messages)并让用户决定会话过程存储在数据库消息。  ...pip install django_compressor 13. Reversion 为模型提供版本控制功能,稍微配置后,就可以恢复已经删除模型或回滚到模型历史任何一点。

    3.3K20

    Django REST Framework-常用权限类型

    Django REST Framework是一个用于构建Web API强大框架。其中一个重要特性是提供了多种权限类型来控制用户对API端点访问。...DjangoModelPermissions:基于Django模型权限控制。允许用户在执行特定操作之前检查模型权限。...如何使用权限Django REST Framework权限通常通过将它们附加到视图类来使用。您可以通过类变量permission_classes设置为适当权限类列表来指定要使用权限。...示例以下是一个更完整示例,展示如何在Django REST Framework中使用权限。假设我们有一个名为Snippet模型,它表示代码片段,我们希望只有创建该代码片段用户才能够修改或删除它。...我们IsOwnerOrReadOnly权限类添加到该视图permission_classes属性,以确保只有代码片段所有者才能够修改或删除它。

    1.4K20

    学习版pytest内核测试平台开发万字长文入门篇

    第一层路由是/login登录和/首页,首页只有菜单,没有具体内容,显示没有意义,所以重定向到了后台管理用户管理。第二层路由是具体功能模块,作为子路由放在首页路由,比如后台管理。...后台管理子模块用户管理也放到了后台管理子路由,根据url访问路径定义父子路由关系。 为了在未登录情况,不允许访问首页,需要再加上访问拦截: ?...把userurl都添加到api/users/下面。新建user/urls.py文件: ? 分别添加登录用户增删改查、重置密码、角色列表、修改密码几个路径。...除了类视图,Django也提供了函数视图,并且Django REST framework提供了函数视图方法装饰器,可以像flask框架一样,感受写纯后端接口体验,按这个方法来写修改密码接口: ?...后端代码完全是我自己写,先学了一遍DjangoDjango REST framework官方教程,其中《Django认证系统并不鸡肋反而很重要》这篇文章在腾讯云+社区2020年度征文活动,被评选为了最受喜爱作者奖

    4.9K30

    全栈“食”代:用 Django + Nuxt 实现美食分享网站(一)

    Django 作为 Python 社区最受欢迎 Web 框架之一,凭借其高度抽象组件和强大方便脚手架,快速且流畅开发体验演绎到了极致。...我们接着安装 Django “三件套”: Django: Django 框架本身,提供了丰富且强大服务器开发组件; DRF (Django Rest Framework):Django 框架超级搭档...序列化器是 Django Rest Framework 提供功能,能够非常方便地 Django 数据模型序列化成相应 JSON 数据格式。...),就自动定义好了模型添加、删除、查询和修改!...Nuxt 会根据此目录 .vue 文件自动创建应用路由 plugins: 存放 JavaScript 插件,用于在应用启动前加载(本教程不需要) static:存放通常不会改变静态文件,并且直接映射到路由

    1.6K30

    Django 和 Keystone.js 详细对比

    Django 是一个用于快速开发 Web 应用程序高级 Python Web 框架。它鼓励快速开发和干净、实用设计。...Django:特点:内置强大表单处理和验证系统,支持自动生成表单、字段验证和错误处理。特性:Django Forms 提供了丰富字段类型、验证方法和自定义表单控件,便于处理用户输入和数据验证。...用户认证和授权Keystone.js:特点:提供基本用户认证和授权功能,可以通过插件扩展。特性:支持用户注册、登录和权限管理。...Django:特点:内置强大用户认证和授权系统,支持用户注册、登录、密码重置和权限管理。特性:Django 认证系统可以轻松扩展,支持自定义用户模型、权限和组管理。...Django:特点:Django 可以通过 Django REST framework (DRF) 和 Graphene-Django 实现强大 REST 和 GraphQL API 支持。

    13300

    Django教程(一)- Django视图与网址1.简介2.环境搭建3.安装pycharm4.Ubuntu 正确安装VMware Tools5.Django主要模块6.Django基本命令7. Dj

    v表示view,用于向用户展示结果 c表示controller,是核心,用于处理请求、获取数据、返回结果 MVT Django是一款pythonweb开发框架 与MVC有所不同,属于MVT框架 m表示...但是在Django,控制器接受用户输入部分由框架自行处理,所以 Django 里更关注模型(Model)、模板(Template)和视图(Views),称为 MTV模式。...views.py 处理用户发出请求,从urls.py对应过来, 通过渲染templates网页可以显示内容,比如登陆后用户名,用户请求数据,输出到网页。...的话, django 就不能自动找到app模板文件(app-name/templates/文件)和静态文件(app-name/static/文件) 2.定义视图函数(即访问页面时显示内容...为此,Django会根据定义模型类完全自动地生成管理模块 使用django管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器

    1.3K20

    用于实现用python和django编写图像分类Keras UI

    KerasUI是一种可视化工具,可以在图像分类轻松训练模型,并允许模型作为服务使用,只需调用API。...": true } ] } 设置配置 这里配置基本部分告诉: 使用oauth 2和会话认证使:常规Web用户登录并使用网站和休息沙箱,API用户获取令牌并查询API服务 使用SQLite...要应用迁移,只需运行migrate命令(makemigration即可从模型创建迁移文件)。 用户数据库开始为空,因此需要创建admin用户才能登录。...将它们标准化并添加到带标签列表 创建模型在数据集模型指定方式 训练它 这是查询数据集项和加载图像代码段: def load_data(self, datasetid): self.stdout.write...最后一层添加到用户回调之外,以确保与数组大小匹配。 拟合方法只是使用所有数据运行训练(。

    2.8K50

    Django+Vue开发生鲜电商平台之1.项目介绍

    xadmin后台管理系统 二、项目技术要点 项目的技术重点是Django REST Framework,这是一个专注于Restful API开发框架,最终熟悉Restful API开发流程,主要技术要点为...进阶开发 djang rest framework部分核心源码解读 文档自动化管理 django rest framework缓存 Throttling对用户和ip进行限速 Vue主要技术点包括...,可能需要针对api访问频率进行限制,比如一分钟、一小时或者一天用户访问频率限制问题 某些页面数据放入缓存,加速某些api访问速度 会针对这些问题给出以下解决方案: 通过介绍pycharm远程服务器代码调试技巧让大家不仅可以调试支付...rest framework文档自动化管理以及url注册管理功能会让我们省去写文档时间; django rest framework文档管理功能不仅可以让我们省去写文档时间还能直接在文档里面测试接口...、自动生成js接口代码、shell测试代码和python测试代码; django rest framework提供throttle来对api进行访问频率限制; 引入第三方框架来设置某些api缓存。

    2.5K31

    第一季 | 更新视图扩展类 UpdateModelMixin 修改密码,会用了么

    第一季 | Django REST 自定义用户登录 ? Django REST框架构建Web API。...Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图)编写,Template(模板)设计和Form(表单)使用。 ? ?...Django REST 掌握 serializers 序列化 和 views 视图,能满足很大一部分需求开发,在 serializers 序列化中常用两大类:Serializer 和 ModelSerializer...ModelSerializer 使用需要依赖已有的模型,常用来编写 api。 ? 再来看下第一季都有哪些可以回顾和用得上小技能 ?...users 应用 serializers.py 添加 password = serializers.CharField(required=False, max_length=32, error_messages

    83430

    如何使用Django构建现代Web应用程序来管理客户信息并在Ubuntu 18.04上进行反应

    Django,一个免费开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架,一个功能强大且灵活工具包,用于在Django构建REST API。...第1步 - 创建Python虚拟环境并安装依赖项 在这一步,我们创建一个虚拟环境并为我们应用程序安装所需依赖项,包括DjangoDjango REST框架django-cors-headers...我们使用该项目的第一步是配置我们在上一步安装软件包,包括Django REST框架Django CORS软件包,方法是将它们添加到settings.py。...在API消耗方面,在DjangoREST框架一个串行器允许复杂模型实例和查询集转换成JSON格式。...添加API视图 在本节,我们将为我们应用程序创建API视图,当用户访问对应于视图函数端点时,Django调用这些视图。

    13.9K83
    领券