• 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 即可.

  • 相关阅读:
    R
    P
    O
    M
    二分算法的一些思考
    I
    H
    G
    5-46 新浪微博热门话题 (30分)——unfinished HASH
    BZOJ 1179: [Apio2009]Atm
  • 原文地址:https://www.cnblogs.com/lovepy3/p/10894500.html
Copyright © 2020-2023  润新知