我正在学习关于ondelete参数的字段的可选参数.这些是预定义的值:"cascade","set null","restrict","no action","set default"
任何人都可以详细解释一下
我试图在我的自定义模块"notebook"中使用many2many关系字段.代码如下:
notebook.py:
from osv import fields, osv
import time
class notebook(osv.osv):
_name = "notebook"
_description = "Simple Notebook"
_columns = {
'title' : fields.char('Title', size=30, required=True),
'tag_ids': fields.many2many(
'hello',
'title',
'name',
string="Tags"
),
}
notebook()
class hello(osv.osv):
_name = 'hello'
_columns = {
'name':fields.char('Name',size=30),
'note_ids': fields.many2many(
'notebook',
'name',
'title',
string="Notebooks"
),
}
hello()
Run Code Online (Sandbox Code Playgroud)
notebook_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="notebook_form_view">
<field name="name">notebook.form</field>
<field name="model">notebook</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Notebook">
<field name="title" />
<field name="tag_ids" widget="many2many_tags"/>
</form> …Run Code Online (Sandbox Code Playgroud) 我试图在创建房间(作为产品)时提供产品的库存数量,所以使用了_inherits的stock.change.quantity.qty来存储使用的数量。
我的代码:
class hotel_room(osv.osv):
_name = 'hotel.room'
_inherits = {
'product.product':'product_id',
'stock.change.product.qty': 'quantity_id'
}
_description = 'Hotel Room'
_columns = {
'product_id': fields.many2one('product.product', 'Product_id', required=True, ondelete='cascade'),
'quantity_id': fields.many2one('stock.change.product.qty', 'Quantity_id', required=True, ondelete='cascade'),
'floor_id':fields.many2one('hotel.floor', 'Floor No', required=True),
'max_limit':fields.integer('Max Person Limit'),
'desc': fields.text('Description'),
'avail_status':fields.selection([('unassigned', 'Unassigned'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned')], 'Room Status'),
'room_amenities':fields.many2many('hotel.room.amenities', 'temp_tab', 'room_amenities', 'rcateg_id', 'Room Amenities'),
}
_defaults = {
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'hotel.room'),
'is_room': True,
'new_quantity': 1.00,
'avail_status':'unassigned'
}
hotel_room()
Run Code Online (Sandbox Code Playgroud)
追溯:
2013-08-14 06:04:05,611 7899 INFO hms …Run Code Online (Sandbox Code Playgroud)