1

私の sqllite3 データベースと Django のセットアップは、管理インターフェイスが関係する次の 1 つの状況を除いて、正しく機能しています。

class Box(models.Model):
    name = models.CharField(max_length=200, primary_key=True)
    balls = models.ManyToManyField( 'Ball' )

class Ball(models.Model):
    name = models.CharField(max_length=200, primary_key=True)

複数の Ball モデルを格納するために、Box モデルに ManyToMany フィールドがあります。いくつかのボールを作成したり、ボックスを作成していくつかのボールにリンクしたりすることもできます。しかし、このサーバー エラーが発生せずに作成された後、ボックスのボールのセットを編集/保存することはできません。

DatabaseError : データベース ファイルを開けません

開発サーバー (python manage.py runserver) を使用しています。この管理上の問題とは別に、データベース IO はサイト全体で正常に動作します。

私が試したものの役に立たなかったもの: 1.データベースを削除し、syncdbを再度実行して、新たに開始します。2. settings.py のデータベース パスをフル パスに設定します。3. シェルを実行します。「管理者として」から開発サーバーを起動します。 4. 親、フォルダー、およびデータベース ファイルのアクセス許可を RW に設定します。

他に何を試すべきかわかりません。私はクレイジーな提案を受け入れますが、誰かがこれを引き起こす原因を知っていることを願っています...


更新

うまくいきました!

これは sqllite3 データベースの問題だと思いました。おそらく、トランザクションの更新が不足しているためです...確かなことは言えません。そのため、データベースを MySQL に交換したところ、問題はなくなりました。「ボックス」を作成し、それらに「ボール」を追加できるようになりました。

4

0 に答える 0