[英]Django - Migrating models to MySQL database
ProgrammingError at /blog/
(1146, "Table 'project.blog_category' doesn't exist")
不知道是什么原因造成的。 遷移數據似乎並不填充MySQL數據庫。 我也嘗試過syndb。
root@watchtower:/project# ./manage.py migrate
Operations to perform:
Synchronize unmigrated apps: messages, staticfiles, watchtower
Apply all migrations: blog, contenttypes, sessions, admin, auth
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
No migrations to apply.
我可以手動創建數據庫表嗎? 這是model.py
from django.db import models
from django.db.models import permalink
class Blog(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique=True)
body = models.TextField()
posted = models.DateTimeField(db_index=True, auto_now_add=True)
category = models.ForeignKey('blog.Category')
def __unicode__(self):
return '%s' % self.title
@permalink
def get_absolute_url(self):
return ('view_blog_post', None, { 'slug': self.slug })
class Category(models.Model):
title = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True)
def __unicode__(self):
return '%s' % self.title
@permalink
def get_absolute_url(self):
return ('view_blog_category', None, { 'slug': self.slug })
from django.db import models
from django.db.models import permalink
class Blog(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique=True)
body = models.TextField()
posted = models.DateTimeField(db_index=True, auto_now_add=True)
category = models.ForeignKey('Category')
def __unicode__(self):
return '%s' % self.title
@permalink
def get_absolute_url(self):
return ('view_blog_post', None, { 'slug': self.slug })
class Category(models.Model):
title = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True)
def __unicode__(self):
return '%s' % self.title
@permalink
def get_absolute_url(self):
return ('view_blog_category', None, { 'slug': self.slug })
我將您的外鍵關系從blog.Catergory
為Category
。
此外,我建議刪除您應用文件夾中的migrations文件夾下的migrations
文件。 刪除除__init__.py
所有文件。 最重要的是,您還可以在MySQL中刪除數據庫,然后分別應用python manage.py makemigrations
和python manage.py migrate
migration(請記住在應用遷移之前先創建它)。
您需要先運行manage.py makemigrations
來創建遷移文件,然后再運行它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.