如何在 django 中编写表单的保存方法?

2024-02-14

我在 Django 中有两个模型:User(由 Django 预定义)和 UserProfile。两者通过外键连接。我正在创建一个允许客户编辑其用户个人资料的表单。因此,该表格将基于提到的两种模型。

如何为此表单创建 save() 方法?完成保存功能的步骤/要求是什么?

这是我目前在 forms.py 中得到的内容:

class UserChangeForm(forms.Form):
    #fields corresponding to User Model
    email = forms.EmailField(required=True)
    first_name = forms.CharField(max_length = 30)
    last_name = forms.CharField(max_length = 30)
    password1 = forms.CharField(max_length=30, widget=forms.PasswordInput)
    password2 = forms.CharField(max_length=30, widget=forms.PasswordInput)

    #fields corresponding to UserProfile Model
    gender = forms.CharField(max_length = 30, widget=forms.Select)
    year = forms.CharField(max_length = 30, widget=forms.Select)
    location = forms.CharField(max_length = 30, widget=forms.Select)

    class Meta:
        fields = ("username", "email", "password1", "password2", "location", "gender", "year", "first_name", "last_name")

    def save(self):
        data = self.cleaned_data
        # What to do next over here?

这是一个好的开始吗?或者有人会建议在我们开始编写 save() 函数之前对此进行更改吗?


这可以帮助你

def save(self):
    data = self.cleaned_data
    user = User(email=data['email'], first_name=data['first_name'],
        last_name=data['last_name'], password1=data['password1'],
        password2=data['password2'])
    user.save()
    userProfile = UserProfile(user=user,gender=data['genger'],
        year=data['year'], location=data['location'])
    userProfile.save()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 django 中编写表单的保存方法? 的相关文章

随机推荐

  • OpenID Connect 是否支持资源所有者密码凭证授予?

    我之前一直使用 OAuth 资源所有者凭据流进行授权 不过 我现在想考虑按照此速度使用 openid connect 进行身份验证和授权 并且想知道 openid connect 是否支持资源所有者凭据流 是的 OpenID Connect
  • Swift stringByEvaluatingJavaScriptFromString

    我尝试在我的 WebView 上使用一些 javascript 和新的 stringByEvaluatingJavaScriptFromString功能 我不太熟悉语法 所以我尝试了 func stringByEvaluatingJavaS
  • 如何在 mongoid 中强制执行唯一的嵌入文档

    我有以下型号 class Person include Mongoid Document embeds many tasks end class Task include Mongoid Document embedded in commi
  • 是否可以将 DDL 更改包装在 PostgreSQL 的事务中?

    我知道在 MySQL ddl 语句中 例如 alter table create table etc 会导致隐式事务提交 当我们转向 PostgreSQL 时 是否可以在一个事务中包装多个 DDL 语句 这将使迁移脚本更加健壮 失败的 DD
  • 用于动态电子邮件的 Angular $compile 模板

    我正在尝试加载一个带有 ng repeats 的 html 模板 然后使用 compile服务对其进行编译并在电子邮件中使用编译后的 html 问题 好吧 在提问之前让我先设置术语 绑定占位符 customer name 绑定值 john
  • 在discord.js中获取用户横幅

    有没有办法使用discord js 获取discord 上的用户横幅 用户横幅是新功能 所以我不确定到目前为止是否有任何方法 我在文档中没有找到任何内容 例如 服务器横幅可用于 https cdn discordapp com banner
  • 如何在perl中不使用key来查找值是否存在于hash中?

    我有一个像这样的哈希图 my name AUS dynamic values my hash a gt x gt 1 gt US 2 gt UK y gt 1 gt AFRICA 2 gt AUS b gt
  • 包含引用类型的结构

    结构是一种值类型 因此如果我将一个结构分配给另一个结构 其字段将被复制到第二个结构中 但是 如果结构体的某些字段是引用类型 会发生什么情况 public struct MyIPEndPoint public String IP public
  • CommonJS 'require' 是否仍在使用或已弃用?

    目前Javascript采用importES6 作为导入模块的标准方式 但是 我有时会看到使用 CommonJS 的代码require代替import 我首先想知道两个是否可以一起使用 但似乎两个不能互换 相关堆栈溢出问题 https st
  • 不存在足够的页面大小 - DB2 插入

    我有一个 DB2 查询 简单插入语句 它试图插入一些 27 列 在这些列中 第 1 列是Clob问题就在那里 为了我的Clob列 有时该值甚至可能包含28K人物 在这种极端的情况下 我收到以下错误 A system temporary ta
  • 如何在运行 Windows 的 Elastic Beanstalk 环境中启用 CloudWatch Logs?

    我有一个网络服务 可以将数据输出到平面文件中 在非 EC2 原始 Windows 实例中 我们使用 EC2Config 服务将日志文件和一些性能计数器传送到 CloudWatch 请参阅此处 http blogs aws amazon co
  • Qt/QML Android 发送自定义 Intent 的最佳实践(共享 URL)

    我想知道是否有任何从 QML 或 c 发送自定义 android 意图的最佳实践技巧 我应该创建一个自定义 android 活动并使用 QAndroidJniObject 类来调用它还是有更好的方法 我的目的是创建一个从 QML 到其他 A
  • Fragment中拦截ActionBar Home按钮

    我可以成功拦截ActionBar我的主页按钮NavigationDrawerFragment 它被添加到我的MainActivity 像这样 Override public boolean onOptionsItemSelected Men
  • PHP 无需等待 sem_acquire?

    不是特定的代码问题 而是一般的代码问题 我试图在工作项目中使用信号量来限制可以同时访问某些进程的用户数量 据我了解如下 iKey ftock sSomeFileLocation sOneCharacterString Generate th
  • 变量变化检测 - Angular

    我对 Angular 相当陌生 主要使用 VueJS 我想知道如何检测变量何时更新 我正在通过 DataService 更新我的变量 我读到ngOnChanges 但我发现这只适用于输入 这几乎是我的代码 import DataServic
  • GraphicsPath 和 OutOfMemoryException

    我有以下内容 private bool IsPathVisible Rectangle detectorRectangle GraphicsPath path Pen pen path Widen pen return IsPathVisi
  • .NET 列表框中的 Optgroup

    我需要对列表框中的项目进行分组 类似于 html SELECT 中的 OPTGROUP 非常感谢任何建议 重构桑迪普的答案 http jsfiddle net kgBr9 http jsfiddle net kgBr9 HTML
  • 启用滚动视图缩放

    我已将某些数据放置在我的ScrollView 我想让它放大 缩小 它包含简单的ImageView and TextView 任何建议都会有帮助 谢谢 这是我的代码
  • 使用新的“Facebook SDK for iOS”与旧的“Facebook iPhone SDK”进行 Facebook 身份验证

    我正在努力将 Facebook 与我的 iPhone iOS 应用程序集成 我想知道我是否正确理解了登录过程的性质 使用旧的 Facebook SDK Facebook iPhone SDK 当我们需要向用户请求身份验证权限时 将显示 UI
  • 如何在 django 中编写表单的保存方法?

    我在 Django 中有两个模型 User 由 Django 预定义 和 UserProfile 两者通过外键连接 我正在创建一个允许客户编辑其用户个人资料的表单 因此 该表格将基于提到的两种模型 如何为此表单创建 save 方法 完成保存