-3

モジュール開発で問題に直面しています。これまでのところ、名前と学位を持つ完全な学生を開発し、Web 上で正常に表示されています。ORM メソッドを使用しようとすると、データベース テーブルからすべての学生を取得したいなど、それがどのように機能するのか、ID などがどこから来るのかを理解できませんSTUDENT

簡単な例でORMメソッドを操作する方法を親切に教えてください。誰かが簡単なORMメソッドの例でモジュールをアップロードできると助かります。

4

1 に答える 1

1

レコードを検索するための 2 つの主な ORM メソッドは、search と name_search です (name_search は、いくつかの事前設定された検索パラメーターを使用した単なる検索です)。

検索メソッドは、レコードを取得するためにブラウズで使用する ID のみを返すため、非常に一般的なパターンは次のとおりです。

student_ids = self.search(cr, uid, [('grade', '=', 'A'), ('enrolled', '=', True), ('gpa', '>=', 4.0), ('course.department', '=', 'Science')] context = context
students = self.browse(cr, uid, student_ids, context = context)

検索でややこしい部分は、検索パラメーターのリストです。これらは、フィールド、演算子、値であるタプルのリストです。ここには暗黙の AND があるため、'|' を使用する必要があります。ORが必要な場合。関連オブジェクトを処理することに注意してください。例では course.department を使用しました。

検索メソッドは、ID のリストまたは空のリストを返します。ブラウズ メソッドはリスト内の各 ID のブラウズ レコードのリストを返すため、テストせずにブラウズ メソッドに渡す方法に注意してください。ID の空のリストを渡すと、ブラウズ レコードの空のリストが返されます。 .

https://doc.openerp.com/trunk/server/api_models/をご覧ください

于 2014-04-19T04:32:34.820 に答える