2015-08-18 5 views
2

Я видел этотОбъясните безопасность в OpenERP 7.0 и каково использование (6,0) и (4)?

eval="[(6, 0, ref('test_security.base_security_access)])]" 

и

eval="[(4, [ref('test_security.base_security_access')])]" 

в OpenERP 7.0 код.

Что такое использование 6,0 и в безопасности, и есть ли другие комбинации, как это, пожалуйста, объясните мне.

+0

@Odedra Спасибо за код Редактировать –

ответ

2

Наконец-то я нашел ответ в ORM метод записи.

  • Для многого многого поля ожидается список кортежей. Вот список из кортежа, которые будут приняты, с соответствующей семантикой ::

      (0, 0, { values }) link to a new record that needs to be created with the given values dictionary 
         (1, ID, { values }) update the linked record with id = ID (write *values* on it) 
         (2, ID)    remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well) 
         (3, ID)    cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself) 
         (4, ID)    link to existing record with id = ID (adds a relationship) 
         (5)     unlink all (like using (3,ID) for all linked records) 
         (6, 0, [IDs])   replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs) 
    

Пример: [(6, 0, [8, 5, 6, 4])] устанавливает many2many к идентификаторам [8, 5, 6, 4]

  • для one2many полевых условиях, лита кортежей, как ожидается. Вот список кортежей, которые будут приняты, с соответствующей семантикой ::

      (0, 0, { values }) link to a new record that needs to be created with the given values dictionary 
         (1, ID, { values }) update the linked record with id = ID (write *values* on it) 
         (2, ID)    remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well) 
    

    Пример: [(0, 0, { 'field_name': field_value_record1, ...}), (0, 0 , {'field_name': field_value_record2, ...})]

  • Для поля many2one просто используйте идентификатор целевой записи, который должен уже существовать, или False, чтобы удалить ссылку.

  • Для опорного поля, использовать строку с именем модели, запятой и целевой идентификатор объекта (например: 'product.product, 5')
2

(4, ID) означает ссылку на существующую запись с идентификатором id = ID, который добавит отношение к существующей записи.

В то время как (6, 0, [IDs]) означает замену списка связанных идентификаторов. Сначала он будет отключать/удалять существующие идентификаторы с этой записью, а затем ссылаться на существующую запись с каждым идентификатором в списке идентификаторов.

Для удаления существующих идентификаторов и ссылка идентификаторов, это удалит связь между двумя объектами, но не удаляет сам целевой объект с (6, 0, [IDs])

Для получения более подробной информации, visit here.

1

Полный список опций в documentation for the osv class.

(0, 0, {значения}) ссылку на новую запись, которая должна быть создана с заданные значения словаря

(1, идентификатор {значения}) обновить связанную запись с ID = ID (написать значения на нем)

(2, ID) удалить и удалить связанную запись с ID = ID (звонки разъединить код, который будет удалить объект полностью, и ссылку на него как а)

(3, ID) сократить ссылку на связанную запись с ID = ID (удалить связи между двумя объектами, но не удаляет целевую самого объекта)

(4, ID) ссылки на существующую запись с id = ID (добавляет связь)

(5) u nlink all (например, используя (3, ID) для всех связанных записей)

(6, 0, [IDs]) заменяет список связанных идентификаторов (например, используя (5), то (4, ID) для каждого идентификатора в списке ID)

+0

Спасибо, я сам нашел его в методе записи модели ORM. –

 Смежные вопросы

  • Нет связанных вопросов^_^