我正在学习,这可能只是一个愚蠢的错误,但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',
)
答案 0 :(得分:1)
您应首先创建迁移:
python manage.py makemigrations
之后运行migrate命令:
python manage.py migrate
答案 1 :(得分:1)
如果您使用的是Django 1.7,请按照以下命令获取在db中创建的表。
python manage.py makemigrations
在该命令之后运行以下命令
python manage.py migrate
由于南方数据库迁移是使用Django 1.7构建的