3

私は Django を使用しており、sqlite3 データベースに別の列が必要であることを意味する新しいモデル変数を追加しました。

sqlite> を使うべきだと聞いたことがありますが、使い始めると本当に混乱します。それで、それが解決策の一部である場合、何をすべきかを具体的に教えていただけますか?

ありがとう

より詳しい情報:

私のアプリは「livestream」と呼ばれ、クラスは「Stream」で、モデル「channel」を追加しました

戻り値 ----> DatabaseError: テーブル livestream_stream に channel という名前の列がありません

4

1 に答える 1

3

ALTER TABLESqlite3 に新しい列を追加することはできますが、名前を変更したり削除したりすることはできません。Sqlite3 は、アプリをブートストラップするための非常に便利なデータベースです。しかし、遅かれ早かれ、MySql や Postgresql などのより堅牢で柔軟なデータベース エンジンに変更する必要があります。

Sqlite を使用してモデルに新しい列を追加するたびに、スキーマを再作成する必要があります (私の知る限り、新しい列を追加するために Sqlite で移行を行うと、south苦情が発生します。以下を参照してください)。私がより気に入っているアプローチは、MySql をDjango-South最初から使用することです。この場合、データベースのすべての側面について確信が持てません。

Django Southデータベースの移行を行うためのアプリです。これは非常に便利で、ドキュメントは初心者にとって良い出発点です。

データベースに変更を加える必要があるときはいつでも、それらを移行と見なして を使用する必要がありますSouth

お役に立てれば!

于 2013-07-11T00:02:12.830 に答える