我将Django1.7与夹层一起使用。我创建了简单的配置文件(根据Mezzanine文档),存储在单独的应用程序“配置文件”中:
class RoadmapProfile(models.Model):
user = models.OneToOneField("auth.User")
fullname = models.CharField(max_length=100, verbose_name="Full name")
创建迁移会返回:
Migrations for 'profiles':
0001_initial.py:
- Create model RoadmapProfile
当我运行“迁移配置文件”时:
Operations to perform:
Apply all migrations: profiles
Running migrations:
No migrations to apply.
问题是,当我尝试打开与mezzanine.accounts相关的任何页面(例如更新帐户)时,它崩溃并显示:
OperationalError at /accounts/update/
no such column: profiles_roadmapprofile.fullname
我做错了什么?
听起来您的初始迁移被伪造了,因为该表已经存在(可能具有过期的架构):
https://docs.djangoproject.com/zh-CN/1.7/topics/migrations/#adding-migrations-to-apps
“这将为您的应用程序进行新的初始迁移。现在,当您运行迁移时,Django将检测到您已经进行了初始迁移,并且它想要创建的表已经存在,并将迁移标记为已应用。”
否则你会得到一个没有这样的表错误:)
[编辑]您是否清理了已应用的迁移表?这也是未应用迁移的常见原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句