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

在Django中使用inlineformset_factory时将模型用户设置为当前用户

在Django中使用inlineformset_factory时,可以将模型用户设置为当前用户。inlineformset_factory是Django中的一个工厂函数,用于创建一个内联表单集。它允许我们在一个表单中同时编辑一个模型及其相关模型的多个实例。

要将模型用户设置为当前用户,可以按照以下步骤进行操作:

  1. 首先,确保你已经在你的Django项目中配置了用户认证系统。这可以通过在settings.py文件中添加AUTHENTICATION_BACKENDSAUTH_USER_MODEL来完成。
  2. 在你的视图函数或类视图中,导入inlineformset_factory函数和相关的模型。
代码语言:python
复制
from django.forms import inlineformset_factory
from django.contrib.auth import get_user_model
from .models import ParentModel, ChildModel
  1. 获取当前用户的实例。
代码语言:python
复制
User = get_user_model()
current_user = request.user
  1. 使用inlineformset_factory创建内联表单集,并将模型用户设置为当前用户。
代码语言:python
复制
ChildFormSet = inlineformset_factory(ParentModel, ChildModel, fields=('field1', 'field2'))
formset = ChildFormSet(instance=parent_instance, queryset=ChildModel.objects.filter(user=current_user))

在上述代码中,ParentModel是父模型,ChildModel是子模型。fields参数指定了要在表单中显示的字段。

  1. 在模板中渲染表单集。
代码语言:html
复制
<form method="post">
  {{ formset.management_form }}
  {% for form in formset %}
    {{ form }}
  {% endfor %}
  <button type="submit">保存</button>
</form>

在模板中,我们使用formset.management_form渲染表单集的管理表单数据,并使用循环渲染每个表单。

这样,当用户提交表单时,相关模型的用户字段将被设置为当前用户。

推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云数据库MySQL版(TencentDB for MySQL)。

  • 腾讯云云服务器(CVM):腾讯云提供的弹性云服务器,可根据业务需求灵活调整配置,提供高性能、高可靠的计算资源。了解更多信息,请访问腾讯云云服务器
  • 腾讯云数据库MySQL版(TencentDB for MySQL):腾讯云提供的高性能、可扩展的云数据库服务,适用于各种规模的应用程序。了解更多信息,请访问腾讯云数据库MySQL版
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

djangoModelForm多表单组合的解决方案

2、从模型创建表单 django对于MVC的C与M间的映射是非常体贴的,集中体现Model模型(比如模型的权限与用户认证)。...fields = ['approvals','manager','name','fund_rource','content','range',]   model告诉django模型是谁,fields...通用视图使用时,只需要承继后,再设置model或者form_class即可。...比如CreateView就会由django自动的把页面上POST出的form数据解析到model生成的表单(或者form_calss指定的ModelForm类型表单),同时调用表单的save方法数据添加到模型对应的数据库表...注意,它会在post请求判断表单是否可用,is_valid,会调用form_valid方法,因此,重写form_valid方法是第4部分处理多model到一个form的关键。

3.3K20

关于“Python”的核心知识点整理大全51

文件 settings.py指定Django如何与你的系统交互以及如何管理项目。开发项目的过程,我们修 改其中一些设置,并添加一些设置。...首次执行命令migrateDjango确保数据库与项 目的当前状态匹配。使用SQLite(后面更详细地介绍)的新项目中首次执行这个命令Django新建一个数据库。...Django启动一个服务器,让你能够查看系统的项目,了解它们的工作情况。当你浏览器 输入URL以请求网页,该Django服务器进行响应:生成合适的网页,并将其发送给浏览器。...1处,Django通过检查确认正确地创建了项目;2处,它指出了使用Django版本以及 当前使用设置文件的名称;3处,它指出了项目的URL。...我们传递了实参 auto_add_now=True,每当用户创建新主题,这都让Django这个属性自动设置当前日期和 时间。

10510

安防RTSP_Onvif网络摄像头互联网直播视频流媒体服务器使用过程如何保存用户登录的信息

各种网络技术的大规模商用,视频随时随地可看、可控、可视频会议调度指挥、可智能预警、可智能检索回溯的诉求越来越多,尤其是移动视频应用技术和智能语音技术的普及和发展,使得视频智能分析和语音智能理解支持的需求各行各业越来越受到青睐和重视...而在传统视频监控、视频会议行业里面,互联网思维、架构和技术完全可以成功引入,尤其是移动互联网、物联网、深度学习、智能分析、云端组网方面的融合技术,完全能够满足新形势下的各种行业的终端智能化的需要。...软件使用过程如何保存用户登录的信息 解决问题 保存用户登录的信息,方法有很多种,下面是我以前做的一个案例,方法是通过使用cookie的方法来进行保存的 HTML代码 ? js代码 ?...这个方法主要是通过cookie插件,通过设置cookie的值来保存用户的信息,设置用户,密码保存的时间和路径。当我们需要销毁,只需要通过把路径地址设置空就可以实现。

1.1K10

37.Django1.11.6文档

例如,如果将此列表设置['gis_enabled'],则模型仅在启用GIS的数据库上同步。 使用多个数据库后端进行测试,跳过某些模型也很有用。 避免与ORM无关的模型之间的关系。...旧版本,当你手工登陆一个用户调用login()之前必须用authenticate()成功认证这个用户。 现在你可以使用新的backend参数设置后端。...项目开始使用自定义User模型 如果你正在开始一个新项目,强烈建议你设置一个自定义用户模型,即使默认的User模型对你已经足够可用。 ...此方法返回当前活动的用户模型 — 如果指定了自定义用户模型,否则返回User。 定义到用户模型的外键或多对多关系,应使用AUTH_USER_MODEL设置指定自定义模型。 ...要更改默认用户名验证器,可以User模型子类化,并将此属性设置不同的验证器实例。

24.2K80

Django开发】前后端分离美多商城项目第2篇:项目配置(附代码,文档已分享)

Django更改1.10:旧版本,默认is_activeFalse不能进行登录。 is_superuser 布尔值。 指定这个用户拥有所有的权限而不需要给他们分配明确的权限。...last_login 用户最后一次登录的时间。 date_joined 账户创建的时间。 当账号创建,默认设置当前的date/time。...当None raw_password ,密码将设置一个不可用的密码。...我们现在在meiduo/meiduo_mall/apps创建Django应用users,并在配置文件中注册users应用。 创建好的应用models.py定义用户用户模型类。...= verbose_name 我们自定义的用户模型类还不能直接被Django的认证系统所识别,需要在配置文件告知Django认证系统使用我们自定义的模型类。

19010

Python 项目实践三(Web应用程序)第一篇

文件settings.py指定Django如何与你的系统交互以及如何管理项目。开发项目的过程,我们修改其中一些设置,并添加一些设置。...我们修改数据库称为迁移数据库。首次执行命令migrateDjango确保数据库与项目的当前状态匹配。...使用SQLite(后面更详细地介绍)的新项目中首次执行这个命令Django新建一个数据库。...2.3 Django管理网站 应用程序定义模型Django提供的管理网站(admin site)让你能够轻松地处理模型。网站的管理员可使用管理网站,但普通用户不能使用。...Django创建超级用户,请执行下面的命令并按提示做 2.3.2 向网站注册模型 Django自动管理网站添加了一些模型,如User和Group,但对于我们创建的模型,必须手工进行注册。

2K60

后端框架学习-Django

+ auto_now:每次保存对象,自动设置该字段当前时间(取值:True/False) + auto_now_add:当兑现第一次被创建自动设置当前时间(取值:True/False) + default...models.PROTECT:保护删除,等同于mysql默认的RESTRICT SET_NULL:保留关联数据,设置NULL SET_DEFAULT:外键设置默认值。...场景:1.博客列表页;2.电商商品详情页 场景特点:数据变动频率较少 Django设置缓存:(settings.py) 数据库缓存:缓存存储在数据库,尽管存储介质还是数据库,但把一次复杂查询的结果直接存储表里...’’) 文件上传 定义:用户可以通过浏览器图片等文件传至网站 场景: 上传头像 上传流程性的文件 上传规范-前端 上传必须POST提交方式 表单’’中文件上传必须有带有enctype...settings.py设置MEDIA相关配置,Django用户上传的文件统称为media资源 MEDIA_URL='/media/' MEDIA_ROOT = os.path.join(BASE_DIR

9.3K40

Django】 开发:静态文件,应用和模型

自动设置该字段当前时间 (取值:True/False)。...auto_now_add: 当对象第一次被创建自动设置当前时间 (取值:True/False)。 default: 设置当前时间 (取值:字符串格式时间如: ‘2019-6-1’)。...,隔开 primary_key 如果设置True,表示该列为主键,如果指定一个字段为主键,则此数库表不会创建id字段 blank 设置True,字段可以为空。...设置False,字段是必须填写的。 null 如果设置True,表示该列值允许空。...) 2)退出,让我models.py添加一个默认值 选择一个选项: 错误原因 当对模型类新添加一个字段可出现该错误 原理是 添加新字段后,数据库不知道原来已有数据对于新建字段该如何赋值,所以新增字段

1.7K20

Django快速入门——投票程序(1、2)创建项目&模型

You're at the polls index.") 2.polls/urls.py创建映射。用户打开网站的urlDjango能够调用views.index函数返回响应。...本教程不会使用这一特性。 name:你的 URL 取名能使你 Django 的任意地方唯一地引用它,尤其是模板。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。...mysite/settings.py文件,我们可以设置一些东西,如TIME_ZONE 改为当前时区。 INSTALLED_APPS包括了会在你项目中启用的所有Django应用。...在上面的例子我们votes的default值设为0。 注意在Choice模型,我们使用ForeignKey定义了一个关系。...激活模型 为了我们的工程包含这个应用,我们需要在配置类INSTALLED_APPS添加设置

24530

完整的 Django 零基础教程|初学者指南 - 第 3 部分 转自:维托尔·弗雷塔斯

Post模型,该 created_at字段有一个可选参数,auto_now_add设置 True。这将指示 Django Post创建对象设置当前日期和时间。... Post模型,该 updated_by字段设置 related_name='+'. 这告诉 Django 我们不需要这种反向关系,所以它会忽略它。...如果我们不为模型指定主键,Django 会自动我们生成它。所以我们现在很好。在下一节,您将更好地了解它是如何工作的。 迁移模型 下一步是告诉 Django 创建数据库,以便我们可以开始使用它。...它代表我们应用程序模型当前状态。在下一步Django使用此文件来创建表和列。 迁移文件被翻译成 SQL 语句。...当我们项目部署到生产环境,我们切换到 PostgreSQL。对于简单的网站,这很好用。但是对于复杂的网站,建议开发和生产使用同一个数据库。

2.1K40

Django开发快速入门

让我们使用startproject命令创建一个新项目。 别忘了加上句号。 最后代码安装在当前目录。 如果不包括句点,则Django默认会创建一个附加目录。...Admin 我们可以开始通过内置的Django应用数据输入到我们的新模型。 但是我们必须首先做两件事: 创建一个超级用户帐户并更新admin.py,以便显示books应用程序。...URLs 我们需要同时设置项目级别的urls.py文件,然后books应用程序设置一个。...如果用户转到/ admin /,他们将被重定向到admin应用。 我们图书应用路由中使用空字符串'',这意味着首页上的用户直接重定向到图书应用。...Django的工作方式,现在,当用户转到我们网站的主页,他们首先点击library_project / urls.py文件,然后将其重定向到使用BookListView指定的books / urls.py

2.3K41

Django 面试题

它是需要添加到类的功能包。实际使用通过类的继承功能添加到所需要的类 Django ,这些软件包用于基于类的视图中。...当开发人员不需要大量功能或仅希望使用某些功能,他们可以使用 mixin 功能所需的部分注入到类。 7. 什么是 views,怎么编写 views?...数据保存在数据库,如果要提升性能,可以 session 保存在缓存设置好 CACHE 后,设置 SESSION_ENGINE "django.contrib.sessions.backends.cache...完成后,Django 会根据用户的语言偏好,使用每种可用语言对网页进行即时翻译。 Django 的国际化钩子默认是开启的,这意味着框架的某些位置存在一些 i18n 相关的开销。...如果你不使用国际化,你应该在配置文件里设置 USE_I18N = False 。然后 Django 进行优化,以免加载国际化机制。

1.5K30

关于“Python”Django 管理网站的核心知识点整理大全52

18.2.2 激活模型使用模型,必须让Django应用程序包含到项目中。...18.2.3 Django 管理网站 应用程序定义模型Django提供的管理网站(admin site)让你能够轻松地处理模型。网 站的管理员可使用管理网站,但普通用户不能使用。...本节,我们将建立管理网站,并通过它 使用模型Topic来添加一些主题。 1. 创建超级用户 Django允许你创建具备所有权限的用户——超级用户。权限决定了用户可执行的操作。...Django创建超级用户,请执行下面的命令并按提示做: (ll_env)learning_log$ python manage.py createsuperuser 1 Username (leave...4处,我们Entry类嵌套了Meta类。Meta存储用于管理模型的额外信息,在这里,它让 我们能够设置一个特殊属性,让Django需要使用Entries来表示多个条目。

13410

初探Django框架

b.如果涉及到数据调用,那么视图函数调用模型模型去数据库查找数据,然后逐级返回。 模型视图函数所需要的数据返回到视图函数, 然后视图函数再把返回的数据填充到模板中空格,最后返回网页给用户。...ORM 是通过使用描述对象和数据库之间的映射的元数据,程序的对象自动持久化到数据库。 ORM 解析过程: 1、ORM 会将 Python 代码转成为 SQL 语句。...': '123456', # 数据库密码 } } Django 根据这一设置,与 MySQL 相应的数据库和用户连接起来。...表名组成结构:应用名_类名(如:TestModel_test)。尽管我们没有 models 给表设置主键,但是 Django 会自动添加一个 id 作为主键。...session 唯一可读写的属性,代表当前会话的字典对象。只有激活Django的session支持该属性才可用。

2K20

关于“Python”的核心知识点整理大全55

6处, 我们使用模板标签{% empty %}打印一条消息,告诉用户当前主题还没有条目。 4....显示所有主题的页面的每个主题都设置链接 浏览器查看显示特定主题的页面前,我们需要修改模板topics.html,让每个主题都链接 到相应的网页,如下所示: topics.html...这些工作很多都是由 Django自动完成的。 Django,创建表单的最简单方式是使用ModelForm,它根据我们第18章定义的模型 的信息自动创建表单。...还有一些其他类型的请求,但这个项目没有使用。 函数new_topic()请求对象作为参数。用户初次请求该网页,其浏览器发送GET请求; 用户填写并提交表单,其浏览器发送POST请求。...由于实例化TopicForm我们没有指定任何实参,Django创建一个可供用户 填写的空表单。 如果请求方法POST,执行else代码块,对提交的表单数据进行处理。

12210

django 1.8 官方文档翻译: 13-9-1 如何使用会话

如果你CACHES定义多个缓存,Django使用默认的缓存。若要使用另外一种缓存,请设置SESSION_CACHE_ALIAS该缓存的名字。...Session 模型定义 django/contrib/sessions/models.py。...当设置TrueDjango 将对每个请求保存会话到数据库。 注意会话的Cookie 只有一个会话被创建或修改后才会发送。...如果SESSION_EXPIRE_AT_BROWSER_CLOSE 设置True,Django使用浏览器时长的Cookie —— 用户关闭他们的浏览器立即过期。...每次会话数据更新Django 更新这行。如果用户手工登出,Django 删除这行。但是如果该用户不登出,该行将永远不会删除。以文件后端的过程类似。

1.1K20
领券