我知道从 Django 1.7 开始我不需要使用 South 或任何其他迁移系统,所以我只使用简单的命令python manage.py makemigrations
但是,我得到的只是这个错误:
You are trying to add a non-nullable field 'new_field' to userprofile without a default;
we can't do that (the database needs something to populate existing rows).
这是 models.py:
class UserProfile(models.Model):
user = models.OneToOneField(User)
website = models.URLField(blank=True)
new_field = models.CharField(max_length=140)
什么是选项?
If您正处于早期开发周期并且不在乎关于你当前的数据库数据您可以将其删除然后迁移。但首先您需要清理迁移目录并从表中删除其行(django_migrations)
rm your_app/migrations/*
注意:不要删除migrations文件夹中的_ _ init _ _ .py。
rm db.sqlite3
python manage.py makemigrations
python manage.py migrate
If您之前为 Django 的管理 Web 应用程序创建了一个超级用户,那么您可能需要再次创建该用户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)