简介:今天,首席执行官注意到与您分享Django如何修改数据模型的相关内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
目前,将模型修改为Django 1.7的前提是您已经创建了模型并使用了SynCDB或迁移来创建相应的数据库表。然后修改模型,该模型不会修改为数据库表。,转到Django的不同版本的文档的相应版本,这不是相同的。
如果您有一个名为MyApp的应用程序,则模型型。Py代码如下:
来自django.db导入模型
班级人(Models.Model):
first_name = models.charfield(max_length = 30)
last_name = models.charfield(max_length = 30)
Django数据库迁移通常是两个命令,命令行执行
1.生成数据表
python manage.py迁移
等效地执行以下SQL语句
创建表myapp_person(
“ ID”服务器不是零主键,
“ first_name” varchar(30)不为null,
“ last_name” varchar(30)不是null
);
2.修改Model Model.py字段后,您可以使用重建命令。我们在模型中添加了一个字段
来自django.db导入模型
班级人(Models.Model):
first_name = models.charfield(max_length = 30)
last_name = models.charfield(max_length = 30)
doday = model.datefield(“生日”,默认= dateTime.date.today)
然后在命令行中执行
python manage.py makemigrations
最后执行命令python manage.py runserver,在本地浏览器中打开127.0.0.1:8000
我们都知道,Django中的模型设计通常具有两个常用的现场创建时间和修改时间。这两个字段的定义是:
一般而言,当您修改此表的数据时,修改时间将会更改,但是我遇到的情况即使您修改了此数据的内容,修改时间也没有更改。
问题解决了:
有两种修改和更新的方法
1)保存
修改模型类对象的属性,然后执行save()方法
2)更新
使用模型类.objects.filter()。更新(),将返回受影响的行的数量
修改和更新的第一种方法是触发更新时间更新时间的更新时间。
因此,如果您更新的数据不会触发更新时间,请检查第二种方法是否用于替换第一个修改方法。
解决:
如果要使用更新方法修改多个数据并触发更新时间的剪辑,则可以执行此操作:
添加修改数据,并将修改时间字段修改为当前时间。
结论:以上是首席CTO注释汇编的Django相关内容的相关内容的摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?