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把数据库表从无到有同步过来,大功告成

  • 相关阅读:
    Thank you for your resubmission. Performance
    node.js
    CSS
    2016第三本《曾国藩的正面和侧面》
    2016下第二本《启示录-产品篇》
    2016下第2本《启示录 -流程篇》
    2016下第2本《启示录 -人员篇》
    《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记
    互联网二三事
    互联网二三事
  • 原文地址:https://www.cnblogs.com/raul-ac/p/4003737.html
Copyright © 2011-2022 走看看