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

删除字段

从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有外键的表 )。

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

(0)

相关推荐

  • Django使用多数据库的方法

    有些项目可能涉及到使用多个数据库的情况,方法很简单. 1.在settings中设定DATABASE 比如要使用两个数据库: DATABASES = { 'default': { 'NAME': 'app_data', 'ENGINE': 'django.db.backends.postgresql', 'USER': 'postgres_user', 'PASSWORD': 's3krit' }, 'users': { 'NAME': 'user_data', 'ENGINE': 'django

  • 在Python的Django框架中更新数据库数据的方法

    先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegraph Ave.', ... city='Berkeley', ... state_province='CA', ... country='U.S.A.', ... website='http://www.apress.com/') 这个对象实例并 没有 对数据库做修改. 在调用`` save()`` 方法之前,记录并没有保存至数据库,

  • 用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化

    实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡.居住地.以及到过的城市.数据库设计如下: Models.py 内容如下: from django.db import models class Province(models.Model): name = models.CharField(max_length=10) def __unicode__(self): return self.name class City(models.Model): name = models.Ch

  • Django1.7+python 2.78+pycharm配置mysql数据库教程

    配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目.之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教程的原则,好像就是说开发环境要和生产环境尽量的一致,所以现在想尝试一下使用更有可能在生产环境部署的mysql数据库进行开发. 本觉得是一件应该很轻松的事情,没想到遇到了一些麻烦 根据一通百度,搜出来的方案大概有: MySQLdb mysql安装时候自带的connector pymysql MySQLdb 是dja

  • 通过数据库向Django模型添加字段的示例

    首先借用书本(book)的这个数据模型: from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30)

  • 在Django的视图中使用数据库查询的方法

    在视图中也有笨方法可以从数据库中获取数据. 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理. 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts import render_to_response import MySQLdb def bo

  • Python的Django框架中使用SQLAlchemy操作数据库的教程

    零.SQLAlchemy是什么? SQLAlchemy的官网上写着它的介绍文字: SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. SQLAlchemy 是一个非常强大的ORM和数据库工具,但是它庞大的文档和复杂的功能总是让很 多人望而生畏.而Django的ORM相对来说

  • Python的Django框架中的数据库配置指南

    记住这些理念之后,让我们来开始 Django 数据库层的探索. 首先,我们需要做些初始配置:我们需要告诉Django使用什么数据库以及如何连接数据库. 我们假定你已经完成了数据库服务器的安装和激活,并且已经在其中创建了数据库(例如,用 CREATE DATABASE 语句). 如果你使用SQLite,不需要这步安装,因为SQLite使用文件系统上的独立文件来存储数据. 象前面章节提到的 TEMPLATE_DIRS 一样,数据库配置也是在Django的配置文件里,缺省 是 settings.py

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

    删除字段 从Model中删除一个字段要比添加容易得多. 删除字段,仅仅只要以下几个步骤: 删除字段,然后重新启动你的web服务器. 用以下命令从数据库中删除字段: ALTER TABLE books_book DROP COLUMN num_pages; 请保证操作的顺序正确. 如果你先从数据库中删除字段,Django将会立即抛出异常. 删除多对多关联字段 由于多对多关联字段不同于普通字段,所以删除操作是不同的. 从你的模型中删除ManyToManyField,然后重启web服务器. 用下面的命

  • django 在原有表格添加或删除字段的实例

    一.如果models.py文件为时: timestamp = models.DateTimeField('保存日期') 会提示: (env8) D:\Desktop\env8\Scripts\mysite>python manage.py makemigrations You are trying to add a non-nullable field 'timestamp' to article without a defa ult; we can't do that (the databas

  • mysql数据库表增添字段,删除字段,修改字段的排列等操作

    目录 一.mysql修改表名 二.mysql修改数据的字段类型 三.mysql修改字段名 四.mysql添加字段 1.添加没有约束性的字段 2.添加一个有约束性的字段 3.在表的第一列添加一个字段 4.在数据表中指定列之后添加一个字段 五.mysql删除字段 六.mysql修改字段的排列位置 1.修改字段为表的第一个字段 2.修改字段为指定列后面 七.mysql更改表的存储引擎 修改表指的是修改数据库之后中已经存在的数据表的结构.​​mysql​​​使用​​alter table​​语句修改表.

  • Django 多对多字段的更新和插入数据实例

    表的普通字段 一对多字段 多对多字段 插入数据 #插入数据 def add(request): G_title=request.POST.get('title')#-------值为:python书本 G_publish=request.POST.get('publish') #-------值为:1 G_authors_list=request.POST.getlist('authors')#-------值为:[3,7] publish_obj=Publish.objects.get(id=

  • access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX

    复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% if Trim(Request.Form("TableName")) '----设置 打开数据库连接 dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;&

  • 在django中自定义字段Field详解

    Django的Field类中方法有: to_python() # 把数据库数据转成python数据 from_db_value() # 把数据库数据转成python数据 get_pre_value() # 把python数据压缩准备存入数据库 get_db_pre_value() # 把压缩好的数据转成数据库查询集 get_prep_lookup() # 指定过滤的条件 value_to_string() # 数据序列化 如果创建的Field比字符串,日期,整数等更复杂的数据结构,可能需要重写t

  • 简单了解Django ORM常用字段类型及参数配置

    这篇文章主要介绍了简单了解Django ORM常用字段类型及参数配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.数值型 AutoField对应int(11).自增主键,Django Model默认提供,可以被重写. BooleanField对应tinyint(1).布尔类型字段,一般用于记录状态标记. DecimalField对应decimal.开发对数据精准要求较高大的业务时考虑使用.比如:cash=models.DecimalFie

  • Django Model中字段(field)的各种选项说明

    字段与选项 CharField() 字符字段 max_length = xxx or None # 必选项 blank = True 和 default = '' # 如果不是必填项,可以设置 unique = True # 如果想要使其唯一,比如用于username,可以设置 choices = xxx_CHOICES # 如果有choice选项,可以设置 TextField() 文本字段 max_length = xxx blank = True 和 default = '' # 如果不是必

  • Django中FilePathField字段的用法

    class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options]) 一个 CharField ,内容只限于文件系统内特定目录下的文件名.有三个参数, 其中第一个是 必需的: FilePathField.path 必填.这个FilePathField 应该得到其选择的目录的绝对文件系统路径.例如: "/home/images". FilePathField.match 可选的.F

随机推荐