相关疑难解决方法(0)

为什么我的南迁不起作用?

首先,我创建了我的数据库.

create database mydb;
Run Code Online (Sandbox Code Playgroud)

我在安装的应用程序中添加"南".然后,我转到本教程:http: //south.aeracode.org/docs/tutorial/part1.html

教程告诉我这样做:

$ py manage.py  schemamigration wall --initial
>>> Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate wall
Run Code Online (Sandbox Code Playgroud)

好的,现在我迁移了.

$ py manage.py migrate wall
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误......

django.db.utils.DatabaseError: (1146, "Table 'fable.south_migrationhistory' doesn't exist")
Run Code Online (Sandbox Code Playgroud)

所以我使用谷歌(这永远不会奏效,因此问#2我的870度的问题.),我得到这个页面:http://groups.google.com/group/south-users/browse_thread/thread/d4c83f821dd2ca1c

好的,所以我按照说明进行操作

>> Drop database mydb;
>> Create database mydb;
$ rm -rf ./wall/migrations
$ py manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

但是当我运行syncdb时,Django会创建一堆表.是的,它创建了south_migrationhistory表,但它也创建了我的应用程序表.

Synced:
 > django.contrib.admin
 > django.contrib.auth
 > django.contrib.contenttypes
 > django.contrib.sessions
 > django.contrib.sites
 > django.contrib.messages
 > south
 > fable.notification
 > …
Run Code Online (Sandbox Code Playgroud)

python migration django django-south

79
推荐指数
3
解决办法
5万
查看次数

用pycharm使用south的新手难度 - DatabaseError:没有这样的表:south_migrationhistory

我正在使用sqlite3和pycharm来了解有关django的更多信息,并且谷歌搜索发现南方建议在创建模型后更容易修改模型.

我正在尝试遵循http://south.aeracode.org/docs/tutorial/part1.html#starting-off上的建议.

到目前为止,我最成功的是创建一个简单的模型并在向south_apps添加南之前运行syncdb.这样就创建了初始表,我有机会创建一个超级用户.(如果没有用户,Django管理员似乎会担心).

然后我将south添加到installed_apps,并运行django_manage.py schemamigration书签--initial

它似乎工作正常.创建一个名为migrations的新目录,其中包含我的app文件夹中的几个文件以及一条令人鼓舞的消息."已创建0001_initial.py.您现在可以将此迁移应用于:./ manage.py迁移书签"

下一步 - django_manage.py"迁移书签会生成以下错误消息:django.db.utils.DatabaseError:没有这样的表:south_migrationhistory.

我认为该表将在第一个schememigration步骤中创建.我错过了什么?有人可以帮忙吗?

玛格

django django-south pycharm

15
推荐指数
2
解决办法
1万
查看次数

Django外键不起作用

编辑:Django版本1.6.1

尝试通过管理员创建RedditPost对象时,我不断收到此错误:

no such column: subreddit_id
Run Code Online (Sandbox Code Playgroud)

subreddit_id错误引用RedditPost.subreddit(不Subreddit.subreddit),然后添加一个_id末的某些原因.

参考没有问题.尝试从管理员创建RedditPost时,Subreddits的下拉菜单会显示所有可用的Subreddits对象.

class Subreddit(models.Model):
    subreddit     = models.CharField(max_length=100, primary_key=True)
    title         = models.CharField(max_length=100, null=False)

    def __unicode__(self):
        return smart_unicode(self.subreddit)

class RedditPost(models.Model):
    comments_link    = models.CharField(max_length=256, primary_key=True)
    submitted_link   = models.CharField(max_length=256, null=False)
    rank             = models.IntegerField(null=False)
    title            = models.CharField(max_length=100, null=False)
    reddit_timestamp = models.DateTimeField(null=False)
    updated_at       = models.DateTimeField(auto_now_add=True, auto_now=True)
    subreddit        = models.ForeignKey('Subreddit')
Run Code Online (Sandbox Code Playgroud)

已解决/解决方案:我结束使用"刷新",当我进行更改时,我没有清理数据库(我没有使用任何迁移).我不得不使用:

    python manage.py sqlclear "app_name" | python manage.py dbshell
Run Code Online (Sandbox Code Playgroud)

要完全清除数据库,然后我必须按照此链接(Django South错误初始迁移)正确执行迁移.

python django

0
推荐指数
1
解决办法
1336
查看次数

标签 统计

django ×3

django-south ×2

python ×2

migration ×1

pycharm ×1