2013-04-24 41 views
5

Tôi có mã này từ tập tin stock.py và số dòng 163OpenERP fields.function() giải thích

'complete_name': fields.function(_complete_name, type='char', size=256, string="Location Name", 
        store={'stock.location': (_get_sublocations, ['name', 'location_id'], 10)}), 

hãy cho tôi một lời giải thích về dưới cửa hàng thuộc tính trong lĩnh vực trên.

chúng tôi có thể sử dụng fields.function( với loại = 'many2one' không? nếu có thể vui lòng cho tôi một mẫu mã tham chiếu hoặc mẫu mô hình lớp trong OpenERP 7

Trả lời

5

'store' = True sẽ lưu trữ giá trị của trường trong cơ sở dữ liệu. Sau khi được lưu trữ, chức năng của các trường chức năng sẽ không được thực hiện lại.

Nhưng nếu giá trị 'cửa hàng' là từ điển thì (key of the dictionary will be a model name and value will a tuple with list of ids, list of field name and 10-i dont know:-() mọi thay đổi/cập nhật trong mô hình được chỉ định làm khóa của từ điển và thay đổi/cập nhật nằm trong các id được chỉ định trong bộ và thay đổi hoặc cập nhật trong các tên trường được chỉ định trong danh sách thì chức năng của trường chức năng sẽ được tải và dữ liệu mới sẽ được lưu trong cơ sở dữ liệu

3

Bạn có thể lấy thông tin về fields.function từ đây:

  1. Function Field.
  2. Function Field Description.

Bạn có thể tìm thấy nhiều ví dụ trong addons.

Hy vọng điều này sẽ giúp bạn.

+0

nhờ trường Arya.in ở trên ý nghĩa của thuộc tính cửa hàng đó là gì. ở những nơi khác trạng thái của nó như store = 'True' có nghĩa là cần phải lưu hồ sơ trong DB –

+1

'store = 'True'' sẽ lưu trữ giá trị của trường trong cơ sở dữ liệu. Theo mặc định nó là 'False' có nghĩa là giá trị của nó sẽ không lưu trữ trong cơ sở dữ liệu. –

+0

nhưng ở trên mã của nó khác nhau. vì vậy nó có trả về True/False không? –