我想知道当我们想要从Django中删除模型时,是否有任何人可以提供完整的事情列表.我知道有人提出了类似的问题.但似乎是几年前人们还在使用南方来处理数据库.所以我希望得到最近版本的Django的答案.
我总结一下我所知道的内容如下:
这些都是我所知道的.有什么不对的吗?我忘了什么吗?也许我过于谨慎,但我想保持数据库清洁.非常感谢!
Dan*_*ins 34
在Django 1.7中,这实际上比你想象的要简单得多.假设您有一个应用程序books
,有两个型号:Book
和BookReview
.您想要删除Book
模型.
Book
代码中对模型的所有引用.例如,删除模型ForeignKey('books.Book')
上的字段BookReview
.无需为此更改单独迁移.Book
从中删除模型的代码books/models.py
.现在,创建一个migration(manage.py makemigrations
).如果查看生成的迁移,则应包含migrations.DeleteModel
操作.运行自动生成的migration(manage.py migrate
),系统会询问您ContentType
不再需要的相关对象:
Running migrations:
Applying books.0002_auto_20150314_0604... OK
The following content types are stale and need to be deleted:
books | book
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
Run Code Online (Sandbox Code Playgroud)
您可能确实想要删除内容类型.如果您不想被要求输入,您可以使用manage.py migrate --noinput
.
DeleteModel
此迁移中的操作将删除books_book
数据库中的表,因此您根本不必担心手动清理.
归档时间: |
|
查看次数: |
12769 次 |
最近记录: |