在Django中,如何删除已同步到数据库中的模型?
例如,在Django教程页面中有以下代码
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
然后我使用python manage.py sql polls并将python manage.py sql polls表创建到数据库中.但是如果我做错了什么并且不再需要那个模型呢?删除它的语法是什么?
jul*_*ria 20
如果您不想删除并重新同步当前数据库,最好的方法是手动从模型中删除表:
$ python manage.py dbshell
> (Inside the DB shell)
> DROP TABLE {app-name}_{model-name};
Run Code Online (Sandbox Code Playgroud)
Ces*_*ssa 15
没有语法.Django不会删除表或列.您必须手动更改数据库或使用像South这样的迁移工具.
如果您只是玩教程,更简单的方法是删除您的sqlite数据库文件并再次运行同步.
小智 9
为什么不简单地尝试从您的 models.py 文件中删除模型?当你跑
python manage.py makemigrations
应使用已删除的模型更新迁移文件。
| 归档时间: |
|
| 查看次数: |
20046 次 |
| 最近记录: |