通过数据库对Django进行删除字段和删除模型的操作

yipeiwu_com7年前Python基础

删除字段

从Model中删除一个字段要比添加容易得多。 删除字段,仅仅只要以下几个步骤:

  •     删除字段,然后重新启动你的web服务器。
  •     用以下命令从数据库中删除字段:
ALTER TABLE books_book DROP COLUMN num_pages;

请保证操作的顺序正确。 如果你先从数据库中删除字段,Django将会立即抛出异常。
删除多对多关联字段

由于多对多关联字段不同于普通字段,所以删除操作是不同的。

  •     从你的模型中删除ManyToManyField,然后重启web服务器。
  •     用下面的命令从数据库删除关联表:
DROP TABLE books_book_authors;

像上面一样,注意操作的顺序。
删除模型

删除整个模型要比删除一个字段容易。 删除一个模型只要以下几个步骤:

  •     从文件中删除你想要删除的模型,然后重启web 服务器models.py
  •     然后用以下命令从数据库中删除表:
DROP TABLE books_book;

  •     当你需要从数据库中删除任何有依赖的表时要注意(也就是任何与表books_book有外键的表 )。

正如在前面部分,一定要按这样的顺序做。

相关文章

python 绘制拟合曲线并加指定点标识的实现

python 绘制拟合曲线并加指定点标识的实现

python 绘制拟合曲线并加指定点标识 import os import numpy as np from scipy import log from scipy.optimiz...

python简单获取本机计算机名和IP地址的方法

本文实例讲述了python简单获取本机计算机名和IP地址的方法。分享给大家供大家参考。具体实现方法如下: 方法一: >>> import socket >&...

scrapy-redis源码分析之发送POST请求详解

1 引言 这段时间在研究美团爬虫,用的是scrapy-redis分布式爬虫框架,奈何scrapy-redis与scrapy框架不同,默认只发送GET请求,换句话说,不能直接发送POST...

Pytorch 实现自定义参数层的例子

注意,一般官方接口都带有可导功能,如果你实现的层不具有可导功能,就需要自己实现梯度的反向传递。 官方Linear层: class Linear(Module): def __in...

Python实现CNN的多通道输入实例

CNN可以同时进行多通道的输入,例如一张彩色图片可以分解成RGB三个通道输入给CNN,当使用自己的数据集时,可以通过numpy来实现数据的多通道输入。 假设我们有两个组数据a和b:...