zoukankan      html  css  js  c++  java
  • 【解决】Django下使用sqlite3的相关问题

    最近在玩Django,想用它写一个很小很小的项目,Django自带数据库sqlite3,本来项目也小,我就用它了。

    玩意虽小,东西却不是那么好用的。

    首先,在项目中建立模型,一个例子是这样的:

    class Milestone(models.Model):
        Content = models.CharField(max_length=500)
        Date = models.DateField()

    然后,在python命令行中键入:python manage.py syncdb

    OK ,它将在sqlite3数据库中自动建立表enrich_milestone,它包含Content和Date字段。

    后来我想把Date的属性改为char型,于是修改了模型,变成这样:

    class Milestone(models.Model):
        Content = models.CharField(max_length=500)
        Date = models.CharField(max_length=200)

    注意,这时候再次使用python manage.py syncdb是无效的,它并不会去同步数据库的修改,也就是说,它可以同步的真是数据库从无到有的过程,如果数据库已经存在,它不会侦测数据库内部是否变动并帮你修改,让人挺不爽的。

    怎么办

    我去sqlite的官网下载了一个sqlite3.exe下来,x86的,官网没有x64的,既然没有,我想应该是通用的,试了一下果然如此。

    我把sqlite3.exe反正项目目录下,和本项目的数据库db.sqlite3一起,在此打开命令行窗口,进入sqlite。

    1、用.open 载入db.sqlite文件

    2、可以用.databases查看该文件下有哪些数据库,用.tables查看有哪些表

    3、我直接drop table 表名(这个是标准sql语句吧),把它删除

    4、返回Django使用python manage.py syncdb把数据库表从无到有同步过来,大功告成

  • 相关阅读:
    10.9 第七次作业游戏
    10.23 第六次作业 刘惠惠 this关键字
    第五次作业 刘惠惠 自动生成的方法存根
    谷歌历史影像下载
    ArcGIS 基础13-整饰输出
    ArcGIS 基础12-保存文件并打包
    ArcGIS 基础11-专题制图
    ArcGIS 基础10-拓扑校验
    ArcGIS 基础9-属性查询和空间查询
    ArcGIS 基础8-坐标系转换
  • 原文地址:https://www.cnblogs.com/raul-ac/p/4003737.html
Copyright © 2011-2022 走看看