Django syncdb 不从应用程序创建表
Django syncdb doesn't create tables from app
我正在学习,这可能只是一个愚蠢的错误,但是 syncdb
和 migrate
创建了所有管理表,但没有我的应用程序表,所以只有组和用户在管理面板中工作。我在管理面板中看到了我的模型,但是当我尝试输入它们时出现错误 Table 'baza63843_django.testowa_news' doesn't exist
.
models.py
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField('Nazwa Kategorii', max_length=100)
slug = models.SlugField('Odnośnik', unique=True, max_length=100)
icon = models.ImageField('Ikonka Kategorii', upload_to='icons',
blank=True)
class Meta:
verbose_name = "Kategoria"
verbose_name_plural = "Kategorie"
def __unicode__(self):
return self.name
class News(models.Model):
title = models.CharField('Tytuł', max_length=255)
slug = models.SlugField('Odnośnik', max_length=255, unique=True)
text = models.TextField(verbose_name='Treść')
#categories = models.ForeignKey(Category, verbose_name="Kategoria")
#categories = models.ManyToManyField(Category, verbose_name='Kategorie')
posted_date = models.DateTimeField('Data dodania', auto_now_add=True)
class Meta:
verbose_name = "Wiadomość"
verbose_name_plural = "Wiadomości"
def __unicode__(self):
return self.title
一开始我这里做的是ManyToManyField,但是根据this改了。但是还是不行。
我在 settings.py
中有我的应用程序,它叫做 testowa
INSTALLED_APPS = (
'django_admin_bootstrapped',
#'bootstrap_admin', # always before django.contrib.admin
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#'django.contrib.sites',
'testowa',
)
您应该首先创建迁移:
python manage.py makemigrations
之后 运行 迁移命令:
python manage.py migrate
如果您使用的是 Django 1.7,请按照以下命令获取在数据库中创建的表。
python manage.py makemigrations
在那个命令之后 运行 下面的命令
python manage.py migrate
因为南方数据库迁移是使用 Django 1.7 内置的
我正在学习,这可能只是一个愚蠢的错误,但是 syncdb
和 migrate
创建了所有管理表,但没有我的应用程序表,所以只有组和用户在管理面板中工作。我在管理面板中看到了我的模型,但是当我尝试输入它们时出现错误 Table 'baza63843_django.testowa_news' doesn't exist
.
models.py
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField('Nazwa Kategorii', max_length=100)
slug = models.SlugField('Odnośnik', unique=True, max_length=100)
icon = models.ImageField('Ikonka Kategorii', upload_to='icons',
blank=True)
class Meta:
verbose_name = "Kategoria"
verbose_name_plural = "Kategorie"
def __unicode__(self):
return self.name
class News(models.Model):
title = models.CharField('Tytuł', max_length=255)
slug = models.SlugField('Odnośnik', max_length=255, unique=True)
text = models.TextField(verbose_name='Treść')
#categories = models.ForeignKey(Category, verbose_name="Kategoria")
#categories = models.ManyToManyField(Category, verbose_name='Kategorie')
posted_date = models.DateTimeField('Data dodania', auto_now_add=True)
class Meta:
verbose_name = "Wiadomość"
verbose_name_plural = "Wiadomości"
def __unicode__(self):
return self.title
一开始我这里做的是ManyToManyField,但是根据this改了。但是还是不行。
我在 settings.py
中有我的应用程序,它叫做 testowa
INSTALLED_APPS = (
'django_admin_bootstrapped',
#'bootstrap_admin', # always before django.contrib.admin
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#'django.contrib.sites',
'testowa',
)
您应该首先创建迁移:
python manage.py makemigrations
之后 运行 迁移命令:
python manage.py migrate
如果您使用的是 Django 1.7,请按照以下命令获取在数据库中创建的表。
python manage.py makemigrations
在那个命令之后 运行 下面的命令
python manage.py migrate
因为南方数据库迁移是使用 Django 1.7 内置的