120

この Django by Example チュートリアルに従ってください: http://lightbird.net/dbe/todo_list.html

チュートリアルには次のように書かれています。

「これによりテーブルのレイアウトが変更され、Django にテーブルのリセットと再作成を依頼する必要があります。

manage.py reset todo; manage.py syncdb"

ただし、を実行するmanage.py reset todoと、次のエラーが表示されます。

$ python manage.py reset todo                                       
- Unknown command: 'reset'

これは、postgresql ではなく sqlite3 を使用しているためですか?

データベースをリセットするコマンドを誰か教えてもらえますか?

コマンド:python manage.py sqlclear todoエラーを返します:

$ python manage.py sqlclear todo    
CommandError: App with label todo could not be found.    
Are you sure your INSTALLED_APPS setting is correct?

そこで、settings.py の INSTALLED_APPS に「todo」を追加してpython manage.py sqlclear todo再度実行すると、次のエラーが発生しました。

$ python manage.py sqlclear todo                                      
- NameError: name 'admin' is not defined
4

10 に答える 10

175

resetflushDjango 1.5 に 置き換えられました。以下を参照してください。

python manage.py help flush
于 2013-03-16T20:00:52.583 に答える
37

「フラッシュ」の回答は一部のケースでは機能するようですが、すべてのケースでは機能しません。データベースの値をフラッシュするだけでなく、テーブルを適切に再作成する必要がありました。私はまだ移行を使用していないので (初期の頃)、本当にすべてのテーブルを削除する必要がありました。

すべてのテーブルを削除するために私が見つけた2つの方法は、どちらもコアdjango以外のものを必要とします。

Heroku を使用している場合は、pg:reset: ですべてのテーブルを削除します。

heroku pg:reset DATABASE_URL
heroku run python manage.py syncdb

Django 拡張機能をインストールできる場合は、完全にリセットする方法があります。

python ./manage.py reset_db --router=default
于 2013-08-23T18:26:51.893 に答える
16

データベース全体をクリーンアップする場合は、次を使用できます: python manage.py flush Django アプリのデータベース テーブルをクリーンアップする場合は、次を使用できます: python manage.py migrate appname zero

于 2016-05-13T19:02:44.637 に答える
3

@LisaDの回答のフォローアップです。
2016 ( Django 1.9) の時点で、次のように入力する必要があります。

heroku pg:reset DATABASE_URL
heroku run python manage.py makemigrations
heroku run python manage.py migrate

これにより、Heroku 内に新しいデータベースが作成されます。

于 2016-04-27T13:01:47.410 に答える