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

Django Admin save_model()在我仅尝试编辑时创建一个新对象

Django Admin是Django框架提供的一个强大的后台管理工具,可以方便地管理和操作数据库中的数据。其中的save_model()方法是在Django Admin中用于保存模型对象的方法。

当我们在Django Admin中进行编辑操作时,如果我们尝试编辑一个已存在的对象,save_model()方法会更新该对象的数据。但是,如果我们在编辑时尝试创建一个新对象,save_model()方法会创建一个新的对象并保存到数据库中。

save_model()方法的具体实现可以根据业务需求进行自定义。在该方法中,我们可以对模型对象进行一些额外的操作,例如添加时间戳、关联其他模型对象等。

Django Admin的save_model()方法在以下场景中非常有用:

  1. 当我们需要在编辑操作时创建一个新对象时,可以通过重写save_model()方法来实现。
  2. 当我们需要在保存模型对象之前进行一些额外的操作时,例如添加日志、发送通知等。

在腾讯云的产品中,与Django Admin相关的产品是腾讯云的云服务器(CVM)和云数据库MySQL(CDB)。云服务器可以提供稳定可靠的计算资源,用于部署Django应用程序和Django Admin后台管理系统。云数据库MySQL可以提供高性能、可扩展的数据库服务,用于存储和管理Django应用程序的数据。

腾讯云云服务器(CVM)产品介绍链接:https://cloud.tencent.com/product/cvm

腾讯云云数据库MySQL(CDB)产品介绍链接:https://cloud.tencent.com/product/cdb

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

相关·内容

Django admin 一些有用的设置

Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以各个app的admin.py文件中进行控制。以下是最近摸索总结出比较实用的配置。...另外,默认可以点击每条记录第一个字段的值可以进入编辑界面。  ? 我们可以设置其他字段也可以点击链接进入编辑界面。 ?...编辑父表之后,再打开子表编辑,而且子表只能一条一条编辑,比较麻烦。 这种情况,我们也是可以处理的,将其放在同一个编辑界面中。...5、数据保存进行一些额外的操作(通过重写ModelAdmin的save_model实现) 代码: ?...8.修改app的显示名称 DajngoAdmin后台默认显示的应用的名称为创建app的名称。

2.5K70

Django admin管理工具的使用、定制及源码解析

当你希望整个系统中,某个类只能出现一个实例,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。...如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是配置文件内容很多的情况下...事实上,类似 AppConfig 这样的类,我们希望程序运行期间只存在一个实例对象。...因此,我们只需把相关的函数和数据定义一个模块中,就可以获得一个单例对象了。...8.修改app的显示名称 DajngoAdmin后台默认显示的应用的名称为创建app的名称。

4K40

​第 07 篇:创作后台开启,请开始你的表演!

创建 admin 后台管理员账户 要想进入django admin 后台,首先需要创建一个超级管理员账户。...我们 Django 迁移、操作数据库[1] 中已经创建一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以进入项目根目录,运行 pipenv run python manage.py createsuperuser... admin 后台注册模型 要在后台注册我们自己创建的几个模型,这样 django admin 才能知道它们的存在,注册非常简单,只需要在 blog\admin.py 中加入下面的代码: blog/admin.py...这个方法接收四个参数,其中前两个,一个是 request,即此次的 HTTP 请求对象,第二个是 obj,即此次创建的关联对象的实例,于是通过复写此方法,就可以将 request.user 关联到创建的..., obj, form, change) 最后还剩下文章的创建时间和修改时间需要填充,一个想法我们可以沿用上面的思路,复写 save_model 方法,将创建的 post 对象关联当前时间,但是这存在一个问题

1.1K20

Django | 页面数据的缓存与使用

例子 视图类或视图函数中,首先先别急着计算页面数据;而是先向缓存读取该页面的数据;若返回一个None;说明没有缓存或缓存的数据已经过期;此时才需要进行数据库查询等计算服务 并将更新后的数据写入缓存中,...但假如我设定timeout为3600,即60分钟,那么60分钟内,如网页的数据被更新了,而用户访问只能显示旧的页面数据,因此为了保证缓存的时效性, 可以在数据更改时删除旧缓存。...如在django自带的管理页面中,当模型发生修改时,会默认调用admin.ModelAdmin的save_model 或 delete_model 方法。...因此,继承并重写该方法,并在里面添加 删除缓存的代码,则网站管理员通过自带管理页面修改数据,旧的页面缓存会被清除 如: class BaseModel(admin.ModelAdmin):...''' 继承admin.ModelAdmin 重写save_model / delete_model 方法 ''' def save_model(self, request

1.8K40

Django | 开发】面试招聘信息网站(快速搭建核心需求)

如setting中简单配置等)✨ 文章目录 一、创建职位管理后台 1.1 定义用户模型 1.2 admin优化管理 1.3 效果 二、匿名用户可查看职位列表和职位详情 三、产品背景迭代思维 3.1...6.2 将类别一样的信息放在同一行 一、创建职位管理后台 1.1 定义用户模型 创建recruitment(招聘) 项目和 jobs应用 我们在对项目开发,需要提前设计好整个数据表的字段(不能想到什么再加...,后面修改和数据迁移操作会麻烦的多) jobs.models.py应用中创建如下模型: from datetime import datetime from django.contrib.auth.models...(admin中完成实现 创建interview应用,model.py创建模型 这里为了快速搭建核心需求,忽略了一个问题,由于一面面试官二面面试官和HR信息都直接放在了一个表里,所以这里一面二面...遇到其他类型指定转换值) def __str__(self): return self.user_name admin.py中 from django.contrib import

76120

Django 做个小后台,细节完善一点点【附源码】

django.contrib import admin from blog.models import Blog # Register your models here....March 25, 2021 - 12:04:53 列表自定义列实现 除了 models.py 中定义的属性,可以 list_display 进行调用,还可以自行创建列供其使用。...introduction.short_description = "内容简介" 同步修改 admin.py 中的内容, list_display 中新增 introduction: @admin.register...readonly_fields:设置只读字段; ordering:排序字段; fields:表单页显示字段; exclude:表单页不显示字段; list_filter:边栏筛选; list_editable:列表页可编辑字段设置...常见的方法如下 save_model():保存; delete_model():删除; get_search_results():自定义检索; get_list_display():对 list_display

40030

Django | 开发】面试招聘信息网站(用户登录注册&投在线递简历)

文章目录 一、候选人登录注册 二、创建建立模型 三、用户在线投递简历 1)创建视图与模板 2) 优化表单细节 让简历进入到面试流程 一、候选人登录注册 方法一:使用django-registraion-reduex...(不建议), 相关配置 方法二:allauth 集成(建议) ✨【Django | allauth】登录_注册_邮箱验证_密码邮箱重置✨ ✨【Django | allauth】useprofile...用户模型扩展✨ ✨【Django | allauth】重写allauth重置密码方法✨ 二、创建建立模型 jobs应用中添加如下模型 class Resume(models.Model):...form, change) 4.效果 三、用户在线投递简历 1)创建视图与模板 创建类视图(与之前的函数不一样) 这里的类试图有很多写好的基类视图,如detailview,listview等...initial[message] = self.request.GET[message] return initial def form_valid(self, form): # 生成对象

87810

django 1.8 官方文档翻译: 1-2-2 编写你的第一个Django应用,第2部分

出于这个原因,Django 根据模型完全自动化创建管理界面。 Django新闻编辑室环境下编写的,“内容发表者”和“公共”网站之间有 非常明显的界线。...你可以切换到对应的旧版本教程去或者更新到较Django 版本。 进入管理网站 现在尝试登录进去。(还记得吗?本教程的第一部分时你创建一个超级用户的帐号。...该页 显示了数据库中所有的 polls 可让你选中一个进行编辑。 有个 “What’s up?” poll 是我们一个教程中创建的: 点击这个”What’s up?”...这样的话你就需要在注册对象 告诉 Django 对应的配置。 让我们来看看如何在编辑表单上给字段重新排序。...但是,这真是一个低效的将 Choice 对象添加进系统的方式。 如果在创建 Poll 对象能够直接添加一批 Choices 那会更好。 让我们这样做吧。

2.5K40

Django权限机制的实现

管理员、编辑和读者的权限,我们可以用全局权限做控制,而对于作者,全局权限无法满足需求,通过全局权限,要么允许作者编辑不属于自己的文章,要么让作者连自己的文章都无法修改。...model中创建自定义权限,从系统开发的角度,可理解为创建系统的内置权限,如果需求中涉及到用户使用系统创建自定义权限,则要通过下面方法: from myapp.models import BlogPost...当我们为应用创建一个Models, 同步到数据库里,django默认给了三个权限 ,就是 add, change, delete权限。...首先,我们创建一个perm_test的project, 然后再创建一个school的app. django-admin.py startproject perm_test cd perm_test python...先不加任何权限保存后,用新用户登录admin: ? 直接提示无权修改任何东西,因为没有任何权限。 尝试增加一个Student的change的权限,刷新一下: ?

1.1K10

Django 3.1 官网学习路线

不用担心,不必每次 Django 生成一个都读取它们,但是如果您想手动调整 Django 的更改方式,它们是可人工编辑的。...迁移功能非常强大,它允许您在开发项目随着时间的推移更改模型,而不需要删除数据库或表并创建表——它专门用于实时升级数据库,而不会丢失数据。...保存并继续编辑——保存更改并重新加载此对象的管理页面。 保存并添加另一个——保存更改并为这种类型的对象加载一个的空白表单。 删除-显示删除确认页面。...可以通过注册对象告诉 Django 所需的选项来实现。 通过重新排列编辑表单中的字段来了解其工作原理。...(Question, QuestionAdmin) 这告诉 Django:“选择对象问题管理页面上编辑

8.1K10

django 1.8 官方文档翻译: 2-5-6 多数据库

1中,一个的Person 对象被保存到 first 数据库中。...当保存在statement 2中发生,p已经具有一个主键,Django尝试的数据库上使用该主键。...如果该主键值second 数据库中没有使用,那么你不会遇到问题 —— 该对象将被复制到的数据库中。...如果一个对象没有主键,Django 将把它当做一个对象,这将避免second数据库上数据的丢失: >>> p = Person(name='Fred') >>> p.save(using='first...另外,一些对象migrate在数据库中创建一张表后自动创建一个默认的Site, 为每个模型创建一个ContentType(包括没有存储一个数据库中的模型), 为每个模型创建3个Permission

1.5K20

美多商城项目(十)

其实我们有很大一部分时间都是浪费了犹豫上,而不是解决问题上。考研的时候,有人会觉得都9月份了,其他人都准备半年了,肯定比不过他们。...ordering 默认排序的字段 readonly_fields 在编辑页面的只读字段 ? exclude 在编辑页面隐藏的字段 list_editable 列表页可以快速直接编辑的字段 ?...Django的原生admin站点中,如果想要在站点保存或删除数据,补充自定义行为,可以重写如下方法: save_model(self,request,obj,form,change) delete_model...我们要将收集的静态文件放到frontendpc目录下的static目录中,所以先创建目录static。 Django提供了收集静态文件的方法。...下创建uwsgi配置文件 uwsgi.ini [uwsgi] #使用nginx连接使用,Django程序所在服务器地址 socket=127.0.0.1:8001 #直接做web服务器使用,Django

1.6K10

Django 1.10中文文档-第一个应用Part2-模型和管理站点

当然在你开始第一个真正的项目,你可能想使用一个更健壮的数据库比如PostgreSQL来避免未来遇到令人头疼的数据库切换问题。...让我们来修复这个问题,让Django在打印对象显示一些我们指定的信息。...Django解决了为网站管理员创建统一界面以编辑内容的问题。管理网站不打算供网站访问者使用。 创建管理用户 首先,我们需要创建一个可以登录到管理网站的用户。...它就是我们先前创建一个question,并且通过str方法的帮助,显示了较为直观的信息,而不是一个冷冰冰的对象类型名称。 ? 点击What’s up?进入编辑界面: ?...页面的底部,则是一些可选项按钮: Save —— 保存更改,并返回当前类型对象的变更列表界面; Save and add another:保存当前修改,并加载一个的空白的当前类型对象的表单

2.3K60

美多商城项目(六)

2.交互式容器创建完会自动进入,但是守护式容器创建完之后不会自动进入,需要手动添加命令: docker exec -it myubuntu2 /bin/bash 2.1容器操作命令总结 1.创建一个交互式容器...Storage_save _save():需要写代码将客户端上传文件上传到FDFS系统 2.修改Django默认文件存储类的配置项:DEFAULTFIFLSTORAGE 4.CKEditor富文本编辑器...(Django没有提供) 5.4.3详情静态页面生成函数 将详情静态页面生成函数封装成celery任务函数。管理员admin站点修改完指定商品详情点击『保存』按钮的时候,只是发出一个任务即可。...categories, 'goods':goods, 'specs':specs, 'sku':sku } # 2.1加载模板:指定使用的模板文件获取一个模板对象...站点保存数据的处理流程 当管理员通过Admin站点维护某个数据表的数据,保存,该数据表模型类对应 Admin管理类中的两个方法会被调用: 1. save_model:数据修改或新增时调用。

1.1K20

Python-Django 第一个Django app

polls目录下,新建一个名为urls.py的文件,以创建URLConf。...3)当且当需要包含其它应用的URLConf式使用include()。这里admin.site.urls是个特例。...参数view:当Django找到匹配正则表达式的字符串,会调用view函数,并把一个HttpRequest对象当作第一个函数参数,把通过正则表达式“捕获”的其它值作为其它参数。...调用create函数构造一个的Choice对象,执行INSERT 语句,添加choice到#获取的choice set,然后返回新建的Choice对象。...{{ question.question_text }}为例,先在question对象上执行字典查找,然后视图属性中查找-这种情况下,找到了。如果属性查找失败,则尝试列表索引查找。

1.2K30

基于 Django 的个人网站(1)

因为之前注册过一个域名,也已经备案了,准备搭建个人网站;但是因为没什么时间,一直没有搭建,今天就教大家使用 Django 搭建一个个人网站。 ?...Django 的安装 开始之前,我们首先需要安装 Django。...创建项目 通过看图,应该可以看出安装的是 Django3.0.6 的版本,接下来就是新建一个 Django 项目,直接使用 PyCharm 专业版的可视化操作而不是命令来创建项目,打开 PyCharm...虽然说后台已经基本上算是完成了,但是文章内容方面还是有些缺陷的,比如内容中只能是字符,图片什么的都无法写入,解决这个问题有两个方法——markdown 和富文本编辑器,选择富文本编辑器,Django...富文本编辑器插件有很多,在这里使用的是 django-ckeditor,想知道为什么使用这个插件以及如何使用这个插件,我们下回再说。

1.4K20
领券