首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django中关于使用makemigrations和migrate的使用

在你改动了 model.py的内容之后执行下面的命令:

python manger.py makemigrations

相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件。

使用python manger.pymigrate,会将改动作用到数据库文件。

上面两个步骤相信大家都理解。这里要将一下如果一个数据表不小心删除了,我们应该如何操作,如下步骤可以按照操作:

第一,删除关于这个表的关联表,也就是在app下models.py中定义的多个数据表,这些要一并删除。

第二,删除django_migrations中对应的记录。

以上两步骤也是常规操作,正常来说是没问题,

如果出现这个问题,下面提供一个思路:确定上面两个步骤没有问题,可以查看对应的views.py中的代码是否有错误,下面是我的一个逻辑:

其中,改了之后加了 comments._db 的判断,主要目的是为了判断是否有这个数据表。

从这里可以发现,进行 makemigrations 的是否程序也是直接进行执行的,这一点可以进行打断点进行验证。

至于为何使用 ._db 这个也是从断点中找到的一个方法,路子野,如果有正规方法可以留言告诉我。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190216G154OI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券