4

私はDjangoアプリに取り組んでいます。最初はデータベースに MySQL を使用していました。次に、PostgreSQL を使用する heroku にデモ アプリをデプロイする必要がありました。

シェルからでもオブジェクトを作成しようとすると、heroku でエラーが発生します。

これは私がやろうとしていることです:

>> from store.models import Product, Category
>> cat = Category()
>> cat.name = 'books'
>> cat.description = 'books'
>> cat.slug = 'books'
>> cat.save()

次のエラーが表示されます。

......
DatabaseError: relation "categories" does not exist

これが私のカテゴリと製品のモデルです

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)

MySQL では非常にうまく機能しますが、PostgreSQL ではうまく機能しません。

誰でも助けることができますか?

ありがとう。

4

1 に答える 1

6

アプリとモデルがインストールされるように、heroku でも syncdb を実行する必要があります。

heroku run python manage.py syncdb

スキーマを変更し、south を使用している場合:

heroku run python manage.py schemamigration appname --auto
于 2013-03-06T08:16:38.837 に答える