2

データベース (PostgreSQL) がパーティション分割されている場合、Django (バージョン 1.5) の管理者からデータベースに新しいレコードを追加できるかどうかを知りたいです。

より具体的には、私のデータベースでは、(トリガーを使用して) という名前のテーブルを と という名前の2Categoryつのパーティションに分割しました。category_01category_02

テーブルのパーティション分割が完了した後、新しいレコードをテーブルに挿入しようとしましたが、次のエラーが発生し続けました。

'NoneType' object has no attribute '__getitem__'.

この問題を解決する方法を知っている人はいますか? save()カスタムメソッドもモデルに追加しようとしましたが、役に立ちませんでした。ここで最も簡単な解決策でしょうか?

4

1 に答える 1

2

2日間の調査の後、私はついにこの問題を自分で解決することができました. save(..)私の解決策は、モデルのメソッドを次のようにオーバーライドすることでした。

def save(self, *args, **kwargs):
   #custom save method
   #pdb.set_trace()
   from django.db import connection
   connection.features.can_return_id_from_insert = False
   print "save"

   super(your model name here, self).save(*args, **kwargs)

Djangoのドキュメントと PostgreSQL のドキュメントに感謝します私が問題を解決します!

于 2013-04-26T10:46:14.763 に答える