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

如何删除模型(2023年的最新答案)

时间:2023-03-08 20:45:31 网络应用技术

  简介:许多朋友询问了Django如何删除模型。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  无论是删除单独的模型还是整个应用程序,都需要首先删除模型。

  确认compand.py中的类中没有其他文件。

  迁移或删除数据库,Django提供了一种简单的方法,使用户可以方便地删除某个应用程序下的所有数据(Django 1.7)。

  在不需要删除的一个 - to -One和外键中,add_delete = models.do_nothing参数

  去刘江的django教程,查看手柄,免费,并且该项目非常令人兴奋。

  1.删除模型中定义的表

  2.删除由makemigrations系统/迁移/0007_AUTO_201027_1105.PY删除文件

  3.删除数据库中Django_migrations表中最新操作后生成的表记录

  从应用“ 2020-10-27”的django_migrations删除;

  4.执行Makemigrations并再次迁移

  第二种情况:删除新添加的字段以同时清除新字段的记录:

  1.删除模型中定义的字段

  2.执行makemigrations,生成删除字段的迁移文件,然后执行迁移迁移以删除数据库中的字段

  3.删除数据库中django_migrations表的两个操作记录

  4.删除迁移目录中新的和已删除字段的迁移文件

  django.db.models.foreignkey在django中使用来定义更多关系。

  在定义中,必须设置一个参数,即on_delete。

  顾名思义,在删除关联表中的数据时,它是与其关联相关的字段行为。

  参数的值是:

  无:关联的数据同时删除;

  Models.Cascade:类似于无,默认被删除;

  models.do_nothing:什么都不做,不要报告错误;

  Models.Protect:防止删除并触发protectError报告错误;

  model.set_null:当前表相关数据的值设置为null(必须支持null,即null参数);

  models.set_default:当前关联数据的值设置为默认值(必须定义默认值);

  models.set(a):将当前相关数据的值设置为A(A是特定值或全局可呼叫函数);

  Slugfield字段是替换“ - ”之后输入内容中的空间

  Django官方文件中Slogfield的描述如下:

  类Slugfield([max_length = 50,**选项])

  slug是一个新闻术语,通常是某物的简短标签。

  像查菲尔德一样,您可以指定max_length(请参阅此部分中数据库移植性的说明和max_length的说明)。如果未指定max_length,django将默认为50为50。

  field.db_index自动在slugfield字段中设置为true。

  通常,根据另一个值自动生成slugfield的值。

  您可以重写Save(),并在使用Slogfy方法转换数据后自动填充Slugfield。简单演示如下

  类测试(Models.Model):

  Q = model.Charfield(max_length = 30)

  s = model.slugfield()

  def保存(self,*args,** kwargs):

  self.s = slugify(self.q)

  超级(测试,自我).save(*args,** kwargs)

  通常,它主要用于URL正则表达式中的命名组。作为参数,在视图和URL之间传输

  幼稚的DateTime(2014-06-15 14:38:37.873873),而时区支持活动。运行时间沃宁)

  此警告的原因是Django被配置为使用TimeZone的DateTime格式,并且Date.Now不包括时区信息。

  如果您不需要处理程序中的时区,则在django项目的设置中。您可以将其直接设置为“ use_tz = false”。models.deteTimeField(auto_now_add = true)和“ update_time = models.detetimefield(auto_now = true)”。

  如果您仍然需要保持us_tz = true,则可以将其设置为“ default = dateTime.now()。替换(tzinfo = utc)”。

  结论:以上是首席CTO注释为每个人编写的Django的全部内容。