当前位置: 首页 > 网络应用技术

如何更改模型Django(2023年的最新答案)

时间:2023-03-08 22:08:38 网络应用技术

  简介:本文的首席执行官注释将介绍有关Django如何改变模型的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  项目路线如下:

  来自django.conf.urls导入URL

  来自django.contrib导入管理

  从博客导入*

  在此处介绍包含模块

  来自django.conf.orks导入包括

  来自django.db导入模型

  类文档(Models.Model):

  name = models.charfield(max_length = 255)

  格式= model.foreignkey('格式')

  班级评论(Models.Model):

  document = models.foreignkey(documen,rection_name ='注释'))))

  content = model.textfield()

  类格式(Models.Model):

  type = model.charfield(choices =('文本文件','text'),

  ('epub ebook','epub'),

  ('html文件','html'),),

  max_length = 10)

  我们都知道,Django中的模型设计通常具有两个常用的现场创建时间和修改时间。这两个字段的定义是:

  一般而言,当您修改此表的数据时,修改时间将会更改,但是我遇到的情况即使您修改了此数据的内容,修改时间也没有更改。

  问题解决了:

  有两种修改和更新的方法

  1)保存

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

  2)更新

  使用模型类.objects.filter()。更新(),将返回受影响的行的数量

  修改和更新的第一种方法是触发更新时间更新时间的更新时间。

  因此,如果您更新的数据不会触发更新时间,请检查第二种方法是否用于替换第一个修改方法。

  解决:

  如果要使用更新方法修改多个数据并触发更新时间的剪辑,则可以执行此操作:

  添加修改数据,并将修改时间字段修改为当前时间。

  如果您有一个名为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

  知识的要点:

  桌子关系的实现

  一个-to -Multi -ptable关系

  MySQL中的一对主要是通过外部键实现的,在Django模型中,它是通过ExourneKeyfield类型实现的。

  一个 - 一张桌子关系

  MySQL中的一个-to -ONE通过外部密钥和唯一键实现,并通过Django模型中的OneToOneField类型实现。

  多站

  MySQL中的大多数对主要是通过中间表和唯一键实现的,并通过Django模型中的ManyTomanyfield类型实现。中间手表模型将自动创建。

  例子:

  关系表中数据的操作

  在课堂中更新字段

  运行python manage.py makemigrations记录迁移

  运行pythonmanage.py迁移,并在数据库表中实现了更新

  此过程中可能存在许多问题,例如如何更新现有数据记录以及如何处理关联对象。有关详细信息,请参阅Liu Jiang的博客和教程:Liujiangblog-com

  结论:以上是首席执行官注明给所有人的Django的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。