Django PostgreSQL DatabaseError:关系"类别"不存在

roo*_*ler 4 django

我正在研究Django应用程序.最初我使用MySQL作为数据库.然后,我需要在heroku上部署一个演示应用程序,它使用PostgreSQL.

当我尝试创建一个对象时,我在heroku中收到错误,甚至是shell.

这就是我想要做的:

>> from store.models import Product, Category
>> cat = Category()
>> cat.name = 'books'
>> cat.description = 'books'
>> cat.slug = 'books'
>> cat.save()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

......
DatabaseError: relation "categories" does not exist
Run Code Online (Sandbox Code Playgroud)

这是我的类别和产品型号

class Category(models.Model):
  name = models.CharField(max_length=50)
  description = models.TextField()
  slug = models.SlugField(max_length=50, unique=True)
  created_at = models.DateTimeField(auto_now_add=True)
  updated_at = models.DateTimeField(auto_now=True)

class Product(models.Model):
  name = models.CharField(max_length=100, unique=True)
  description = models.TextField()
  price = models.DecimalField(max_digits=9, decimal_places=2)
  slug = models.SlugField(max_length=50, unique=True)
  categories = models.ManyToManyField(Category)
  created_at = models.DateTimeField(auto_now_add=True)
  updated_at = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

它适用于MySQL,但不适用于PostgreSQL.

有人可以帮忙吗?

谢谢.

nit*_*chi 6

您还需要在heroku中运行syncdb,以便安装您的应用和模型.

heroku run python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

如果您对架构进行了更改,并且您正在使用南方,那么:

heroku run python manage.py schemamigration appname --auto
Run Code Online (Sandbox Code Playgroud)