Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
11271 Lượt xem

in .py file--

class hotel_folio(osv.osv):


         _name = 'hotel.folio'
        _description = 'hotel folio new'
        _columns = {
            'sale_lines':fields.one2many('hotel.sale.line', 'folio_id', ondelete='cascade'),
            }

hotel_folio()

    class hotel_sale_line(osv.osv):

        _name = 'hotel.sale.line'
        _description = "Sale Line"
        _columns = {
                'order_line': fields.one2many('sale.order', 'order_line', 'Order Lines'),
                'folio_id':fields.many2one('hotel.folio'),
                }

hotel_sale_line()

And in .xml file--

                        <field name="sale_lines" colspan="4" nolabel="1">
                            <form string="Sale Order Line">
                            <separator string="Sale Order"/>
                            <field name="order_line" select="1" colspan="4" nolabel="1"/>                               
                            </form>
                            <tree string="Sale Order Line">
                            <field name="order_line" select="1"/>                               
                            </tree>
                        </field>

the error is---

File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server.\openerp\osv\orm.py", line 4469, in create File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server.\openerp\osv\fields.py", line 557, in set File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server\openerp\addons\sale_stock\sale_stock.py", line 75, in create File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server\openerp\addons\sale\sale.py", line 337, in create File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server\openerp\addons\mail\mail_thread.py", line 242, in create File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server.\openerp\osv\orm.py", line 4469, in create File "C:\Program Files\OpenERP 7.0-20130627-231102\Server\server.\openerp\osv\fields.py", line 554, in set TypeError: 'long' object is not iterable

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi,

  1. the ondelete attribure isn't in the right place
  2. we don't use select="1" in one2many fields
  3. You should create the relation id field (order_line) in sale.order object

Try this for your python file:

class hotel_folio(osv.osv):
         _name = 'hotel.folio'
        _description = 'hotel folio new'
        _columns = {
            'sale_lines':fields.one2many('hotel.sale.line', 'folio_id','Lines' ),
            }

hotel_folio()

class hotel_sale_line(osv.osv):

        _name = 'hotel.sale.line'
        _description = "Sale Line"
        _columns = {
                'order_line': fields.one2many('sale.order', 'order_line', 'Order Lines'),
                'folio_id':fields.many2one('hotel.folio','Related Folio', ondelete='cascade'),
                }
hotel_sale_line()
Ảnh đại diện
Huỷ bỏ
Tác giả

in sale.order, the relation was established already like this--------------------------- 'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),

This relation is between sale.order and sale.order.line. Your need is not clear, you may want that your 'hotel.folio' has many sale.order.line !!

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 3 15
4853
1
thg 3 15
9132
1
thg 10 20
4916
1
thg 5 25
906
1
thg 1 25
1656