2016-06-27 1 views
1

私は多くのフィールドを持つモデルAを作った。それは最小モデルBとMany2oneの関係を持っています。Bはname = fields.Char(...)フィールドを1つだけ持っています。Odoo 8ウィザードエラー: "この種のドキュメントでは、自分で作成したレコードにのみアクセスできます。"

私は、そのフィールドがモデルAのフィールドに対応するウィザードである一時モデルCを持っています。ユーザーがウィザードでデータを入力するか、最小モデルBの事前定義値の1つを選択すると、モデルCのレコードを作成し、データを保存します。

私は1人のユーザーでウィザードを使用する限り、これはうまく動作します。

私はモデルBの複数の定義済みレコードを持っていますが、名前を付けておきますB1、B2など。ユーザー1がウィザードを使用してB1を選択し、モデルAのレコードを作成すると、すべてが機能します。ユーザー2がB2と同じことをすると、すべてが機能します。ユーザー2は、ウィザードと選択B1、次のエラーを使用したい場合でも発生します。ユーザー1は、選択したモデルB2でウィザードを使用したい場合は

Access denied 
For this kind of document, you may only access records you created yourself. 
(Document type: [modulename.wizard_model_C]) 

同じことが起こります。 何が間違っているのかわからない。これは私が試したものです:

  • すべてのレコードのルールを削除 - >何もグローバルにすべてのアクセスルールを作る
  • を変更しないと1,1,1,1 - >何も
を変更しない

私は次のようになります問題がどこにあるのかを知ることができます。モデルBは責任がありますか?それともウィザードモデルCのMany2one関係ですか?

+0

こんにちは、これを理解できましたか? – gpothier

答えて

0

だけで、charsを追加name = fields.Char

でを変更し、サービスを再起動してください。

+0

こんにちは、お返事ありがとうございますが、それは問題ではありません。コードでは、それはすでに正しいと綴られていました。ごめんなさい。私は私の質問を編集しました。 –

0

それは

osv_memoryまたは一時は一時メモリに保存されます..あなたがモデルosv.osv_memoryまたはmodels.Transientに(書き込みまたは解除)問題を抱えているわけ。ユーザーがウィザードを使用する場合

あなたはデータを持っているtable_transient_x例えば
ID、create_uid、名前、年齢
499、5、 'バットマン'、29
500、6、 'Bahrudin'、20
501、5 'Sumanto' 、40

ケース1: ユーザーID:5で行499を更新しようとしましたが、ユーザーID:6で作成された例500のコードが間違っているためです。

models.pyラインからのエラーになりますあなたのコード3557

ケース2:osv_memoryまたは一時的で はあなたがフィールドに関連する追加私はこのヘルプを願っています

(関連フィールドを使用しないでください)あなた: )

関連する問題