我在Mezzanine中使用Django1.7.我创建了存储在单独的应用程序"配置文件"中的简单配置文件(根据Mezzanine文档):
class RoadmapProfile(models.Model):
user = models.OneToOneField("auth.User")
fullname = models.CharField(max_length=100, verbose_name="Full name")
Run Code Online (Sandbox Code Playgroud)
创建迁移返回:
Migrations for 'profiles':
0001_initial.py:
- Create model RoadmapProfile
Run Code Online (Sandbox Code Playgroud)
当我运行"迁移配置文件"时:
Operations to perform:
Apply all migrations: profiles
Running migrations:
No migrations to apply.
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试打开与mezzanine.accounts相关的任何页面(例如更新帐户)时,它会崩溃:
OperationalError at /accounts/update/
no such column: profiles_roadmapprofile.fullname
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我删除了一些与应用程序相关的表.并再次尝试syncdb命令
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
它显示错误
django.db.utils.ProgrammingError: (1146, "Table 'someapp.feed' doesn't exist")
Run Code Online (Sandbox Code Playgroud)
models.py
class feed(models.Model):
user = models.ForeignKey(User,null=True,blank=True)
feed_text = models.CharField(max_length=2000)
date = models.CharField(max_length=30)
upvote = models.IntegerField(default=0)
downvote = models.IntegerField(default=0)
def __str__(self):
return feed.content
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来获取该应用程序的表格?
出现一些错误后,我删除了我的数据库,删除了所有的迁移文件(我离开了 init .py).现在,当我跑
python migrate.py makemigrations // It creates migrations correctly
python migrate.py migrate // It outputs "app.0001_initial OK"
Run Code Online (Sandbox Code Playgroud)
但绝对没有 表(与我的应用程序相关)被创建.只有那些与django相关的是.在迁移表中,我的应用程序迁移已标记完成,但没有像我说的那样创建表,这非常令人不快.
以下是我的迁移文件的摘录:
# -*- coding: utf-8 -*-
# Generated by Django 1.9 on 2016-02-18 21:59
from __future__ import unicode_literals
import colorful.fields
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Client',
fields=[
('id', models.AutoField(db_column='idtblclients', primary_key=True, serialize=False)),
('genre1', models.CharField(blank=True, max_length=10)),
('prenom1', models.CharField(blank=True, max_length=45)),
('nom1', …Run Code Online (Sandbox Code Playgroud)