django修改model之后如何操作?

作者&投稿:红亮 (若有异议请与网页底部的电邮联系)
~

导读:今天首席CTO笔记来给各位分享关于django修改model之后如何操作的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Djangomodelupdate(修改)修改时间并没有触发的问题

我们都知道django里面模型设计一般会有常用的两个字段创建时间和修改时间,这两个字段的定义是这样的:

一般来说,你对这个表的数据有修改的时候,修改时间会随之变动,但是我遇到一个情况,是即使你修改了这条数据的内容,但是修改时间并没有变动。

问题解决:

修改更新有两种方法

1)save

修改模型类对象的属性,然后执行save()方法

2)update

使用模型类.objects.filter().update(),会返回受影响的行数

第一种修改更新的方法是会触发updated=models.DateTimeField(auto_now=True,verbose_name="更新时间")字段的更新时间的,第二种不会触发。

所以如果你更新的数据没有触发更新时间,检查是否用了第二种方法,换成第一种修改的方式就可以了。

解决:

如果要用update这种方法修改多条数据,触发更新时间的字段,可以这样做:

加一条修改数据,把修改时间这个字段修改成当前时间就可以了。

如何实现Django动态修改model字段定义属性

Django可以获取一个model里字段定义的属性:

User._meta.get_field_by_name('username')

返回的是tuple,所以没法修改

数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为:

classTableA(models.Model):

row1=models.CharField(primary_key=True,max_length=36)

row2=models.CharField(max_length=36)

row3=models.CharField(max_length=36)

classMeta:

db_table=u'table_a'

django中对应的model设置row1为主键,一切正常

如果row1有重复数据,model在过滤的时候去重,使用model一切正常

objs=TableA.objects.filter(Q('取出row1中的重复项'))

如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的

如果能动态设置model字段属性就都解决了

当然直接用sql也可以

django1.8更改了model后要怎样重建数据库

从Javaweb转过来学习django,有些方法逻辑不习惯,直接修改model更新到数据库:执行如下命令即可pythonmanage.pymakemigrationsmyapppythonmanage.pymigrate

结语:以上就是首席CTO笔记为大家介绍的关于django修改model之后如何操作的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。




django开发者模式中的autoreload是怎样实现的
在开发django应用的过程中,使用开发者模式启动服务是特别方便的一件事,只需要 python manage.py runserver 就可以运行服务,并且提供了非常人性化的autoreload机制,不需要手动重启程序就可以修改代码并看到反馈。刚接触的时候觉得这个功能比较人性化,也没觉得是什么特别高大上的技术。后来有空就想着如果是...

模板文件mo还是mu
关于“mo”和“mu”这两个扩展名,它们并不是通用的模板文件扩展名。实际上,更常见的模板文件扩展名包括“.tpl”、“.template”或针对特定技术的扩展名,如Django框架中的“.html”文件用作模板。“mo”文件通常与GNU的gettext工具集相关,用于存储编译后的消息目录,这些目录包含用于软件本地化的字符...

模板文件mo还是mu
特别是在国际化(i18n)和本地化(l10n)的上下文中,“.mo”文件是GNU gettext包用于翻译字符串的一种文件格式,它包含了从一种语言翻译成另一种语言的消息目录。这些文件使得软件能够根据用户的地区设置显示不同的语言。举个例子,在Web开发中,特别是使用Django等框架时,开发人员会创建&ld...

django怎么变成汉语(2023年最新分享)
django的admin后台管理如何更改为中文 我当时用的步骤如下,(这是在windows下的本地环境里)你可以试试: 一、下载安装 pythonsetup.pyinstall 二、 1.将tinymce\/static\/tiny_mce文件夹放到your_project\/static目录下; 2.将tinymce文件夹放到your_project目录下 结语:以上就是首席CTO笔记为大家整理的关于django怎么变成...

被解放的迪亚戈演职员表
Django: 杰米·福克斯 饰 姜戈Dr. King Schultz: 克里斯托弗·瓦尔兹 饰 金·舒尔茨Calvin Candie: 莱昂纳多·迪卡普里奥 饰 卡尔文·坎迪Broomhilda: 凯丽·华盛顿 饰 布隆希达Stephen: 塞缪尔·杰克逊 饰 史蒂芬Billy Crash: 沃特·戈金斯 饰其他角色包括:Leonide Moguy: 丹尼斯·克里斯托弗 饰Butch Pooch...

如何在windows下安装reviewboard
(17)http文件修改 apache的http.conf修改,增加以下内容 LoadModulewsgi_module modules\/mod_wsgi.so apache-wsgi.conf中VirtualHost标签里的所有copy到已有配置文件http.conf最后处 (18)创建数据库、数据库用户for ReviewBoard(这块要注意数据库的字符集设置,默认是UTF-8,如果你要用其他中文字符编码...

求毕加索全名!中文加英文。
Diego. Jose. Francisco harp. Mountain django. DE Paula. Sure. Nebo mo cut. The gram rui si skin's Virginia. Ross's promise. Rick MIDI ou si. Rick jarno. West wave. DE la. Sandy sima. Trinidad. Maria. Paris theo. Crito. Rachel this. Nebraska. Picasso, families ...

java如何做手机appjava如何做手机游戏
最后在app完成后,加入appicon,iTunesArtwork等等UI元素。反复测试无mo错误后上传至应用商店。之后大概要花7-14天来等候审批。制作手机APP软件,需要什么技术?最基本的是需要懂得用Java语言和XML知识。掌握了这两种语言后再装个Eclipse和AndroidSDK,就可以做开发了。当然,还得学Android特有的API的用法。

关于《哈利波特》中英国人起名字的问题。
楼上正解,补充一点,名(如阿不思)和姓(如邓不利多)中间的那些长串还有可能是为了纪念一些人起的,其实可以根据个人的各种理由来起,不过平常是不太用的。两辈重名也不奇怪的,别人称呼小巴蒂加个“小”就是为了区别辈分。要是两个重名的人撞一起了就会加点缀名来区别,中国也是有的嘛。而且...

如何在windows下安装reviewboard
(17)http文件修改 apache的http.conf修改,增加以下内容 LoadModulewsgi_module modules\/mod_wsgi.so apache-wsgi.conf中VirtualHost标签里的所有copy到已有配置文件http.conf最后处 (18)创建数据库、数据库用户for ReviewBoard(这块要注意数据库的字符集设置,默认是UTF-8,如果你要用其他中文字符编码...

文山县15537567275: django1.8更改了model后要怎样重建数据库 -
莫急氨酚: # 如果你说用的是pycharm编译器的话:使用 ctrl+alt+r 进入 manage界面 然后输入 makemigrations [appname] 创建数据库引导文件 然后使用 migrate [appname] 来把model变化同步到数据库# [appname] 指你当前model所在的app,如果不指定appname ;则编译全部app# 如果不是pycharm编译器的话,请再追问

文山县15537567275: django修改了model会自动修改数据库吗 -
莫急氨酚: 目前到django1.7 为止 修改model的前提是:你已经创建完model,并且已经 使用 syncdb 或 migrate 创建了相应的数据库表.然后再 修改model,不会对数据库表产生任何修改的.具体的东西,自己去看 Django 相应版本的文档去吧 不同版本,不太一样.

文山县15537567275: 如何正确使用 User Model -
莫急氨酚: 使用settings.AUTH_USER_MODEL 自从django 1.5之后, 用户可以自定义User model了, 如果需要外键使用user model, 官方推荐的方法如下:在settings中设置AUTH_USER_MODEL:# settings.py# 格式为 "." AUTH_USER_MODEL = "...

文山县15537567275: models.py中增加了字段,django中怎样更新 -
莫急氨酚: 你的意思是model对字段做了修改,怎么同步到数据库端吧?django1.7之前是实现不了的,django1.7提供了migration支持表结构同步.

文山县15537567275: django 中template 怎么使用model自定义的方法 -
莫急氨酚: 1. 如果参数只涉及model自身的属性值, 在模版中可以直接调用,注意,不能加括号{{entry.def_name}};或者使用property(方法名)函数,将方法的结果变为属性;new_value = property(_def_name), 使用:{{ entry.new_value }}2. 如果参数涉及其他变量,建议使用自定义模版过滤器(自己搜);3. 如果还不能满足,建议更换模版模块.4. 以上基于python2.7 django1.11.18

文山县15537567275: 如何实现Django动态修改model字段定义属性 -
莫急氨酚: Django可以获取一个model里字段定义的属性:User._meta.get_field_by_name('username') 返回的是tuple,所以没法修改 数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中...

文山县15537567275: django 编辑表单,数据怎么回显呀 -
莫急氨酚: 修改操作的view里,把这条记录赋值给form的instance 例子:form(instance=tobj)

文山县15537567275: django modelss.py里定义数据时,autofield定义时如何指定初始值,比如让某个字段从9995开始? -
莫急氨酚: 如果你是使用django1.7以上,那么自带migrations功能,可以在生成迁移文件后,打开0001_initial.py(类似这样的文件, 需要与你对应的app关联起来,就是models所在的路径下中的migrations文件夹),然后修改里面中models中对应的class ...

文山县15537567275: Django 中使用model 怎么查询不等于某个值的情况 -
莫急氨酚: Model是django项目的基础, 如果一开始没有好好设计好, 那么在接下来的开发过程中就会遇到更多的问题 然而, 大多数的开发人员都容易在缺少思考 的情况下随意的增加或修改model 这样做的后果就是, 在接下来的开发过程中, 我们不得不做出更多努力Django 中使用model 怎么查询不等于某个值的情况

文山县15537567275: 如何正确使用 Django Admin -
莫急氨酚: 1. Django Admin 不适合最终用户使用 Django admin是为管理员设计的, 而不是给最终用户使用的. Django admin的存在是为了方便管理员添加修改删除数据和管理站点任务. 2. 列表显示 如上图, 因为model的默认文本显示是 xxx object, 所以...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网