Django syncdb没有从app创建表

时间:2015-01-20 05:14:06

标签: python django django-models django-syncdb

我正在学习,这可能只是一个愚蠢的错误,但syncdbmigrate创建了所有管理员表,但没有我的应用表,所以只有组和用户在管理面板中工作。我在管理面板中看到了我的模型,但是当我尝试输入它们时,它会给我一个错误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',
)

2 个答案:

答案 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构建的