zoukankan      html  css  js  c++  java
  • Django走过的坑

    修改现有表结构时报错:

    You are trying to add a non-nullable field 'addr' to author without a default; we can't do that (the database needs something to populate existing rows).
    Please select a fix:
    1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
    2) Quit, and let me add a default in models.py

    解决:添加字段是设置一个默认值default即可

    birthday = models.DateField(default='')
    addr = models.CharField(max_length=255,default='')

     

    Running migrations: No migrations to apply.(django不能创建数据库中的表的问题)

    第一步:

        删除该app名字下的migrations下的__init__.py等文件。

    第二步:

        进入数据库,找到django_migrations的表,删除该app名字的所有记录。

    第三步:执行下面这两条命令:(在项目目录下)

    python manage.py makemigrations

    python manage.py migrate

    原因:

    django_migrations表记录着数据库的对应表的修改记录。

    每次修改后,都执行第三步的命令,然后在第一步的文件夹下生成修改的文件,django_migrations表记录修改的变更过程。

    django.db.utils.InternalError: (1050, "Table 'django_content_type' already exists")

    使用 python manage.py migrate --fake

    使用上面的方法可以忽略一些错误.

    另外一个解决办法就是进去到数据库中,删除所有的表.然后再使用 python manage.py makemigratios和 python manage.py migrate 即可.

  • 相关阅读:
    log4js日志
    webservice随记
    easyui+nodejs+sqlserver增删改查实现
    jsp、servlet笔记
    mysql随笔
    ssh登录实现
    UML和模式应用1: 面向对象的分析与设计
    Linux mmc framework2:基本组件之mmc
    Linux MMC framework2:基本组件之core
    Linux mmc framework2:基本组件之queue
  • 原文地址:https://www.cnblogs.com/lovepy3/p/10894500.html
Copyright © 2011-2022 走看看