簡體   English   中英

如何在開放式erp中使用ORM方法獲取另一個模型中的更新字段

[英]How to get update fields in another model using ORM methods in open erp

我是openERP的新手,所以我開始從事基本模塊的創建。

我使用4個不同的型號名稱創建了HOTEL管理模塊。 1.room.info [房間信息],2.room.book [預訂房間,與room.info的許多聯系],3.room.vacant [空房間],4.room.engaged [訂婚房間]

我想要的是每當我創建房間信息時,它應該進入room.vacant模型(空房間),並且每當客戶預訂房間時,它就應該進入room.engaged模型,並且還應該更新空房間。 我沒有正確獲得ORM方法。 請幫幫我。謝謝

這是我的模塊的圖像

碼:

from openerp.osv import fields, osv
from openerp import api
from datetime import datetime, timedelta
import datetime

class Hotel(osv.osv):
_name = 'hotel.book'

_columns ={

    'c_name' : fields.char('Customer name',required=True),
    'room_num' : fields.many2one('room.info','Room number', required=True),
    'charges' : fields.float('Price'),
    'mobile' : fields.char('Mobile Number', size=64, required=True),
    'charges' : fields.float('Price'),
    'check_in':fields.date('Check In'),
    'check_out':fields.date('Check Out'),
    'days': fields.float('Number of Days'),
    'total' : fields.float('Amount'),


        }
Hotel()

 class RoomInfo(osv.osv):
     _name='room.info'
     _rec_name='room_num'

     _columns = {

        'room_num':fields.integer('Room Number'),
        'status':fields.selection([('reserved', 'Reserved'),('vacant', 'Vacant')],'Status'),

               }

   RoomInfo()

   class VacantRooms(osv.osv):
       _name='room.vacant'
       _columns = {

           'room_num' : fields.many2one('room.info','Room number'),

            }

   VacantRooms()

   class EngagedRooms(osv.osv):
       _name='room.engage'
       _columns = {

          'room_num' : fields.many2one('room.info','Room number'),
          'status':fields.selection([('reserved', 'Reserved'),('vacant', 'Vacant')],'Status'),


}
    EngagedRooms()

您可以嘗試以下代碼:

from openerp import fields, models


class Hotel(models.Model):
    _name = 'hotel.book'

    c_name = fields.Char('Customer name', required=True)
    room_num = fields.Many2one('room.info', 'Room number', required=True)
    charges = fields.Float('Price')
    mobile = fields.Char('Mobile Number', required=True)
    charges = fields.Float('Price')
    check_in = fields.Date('Check In')
    check_out = fields.Date('Check Out')
    days = fields.Float('Number of Days')
    total = fields.Float('Amount')


class RoomInfo(models.Model):
    _name = 'room.info'

    room_num = fields.Integer('Room Number')
    status = fields.Selection([('reserved', 'Reserved'), ('vacant', 'Vacant')], string='Status')


class VacantRooms(models.Model):
    _name = 'room.vacant'

    room_num = fields.Many2one('room.info', 'Room number')


class EngagedRooms(models.Model):
    _name = 'room.engage'

    room_num = fields.Many2one('room.info', 'Room number')
    status = fields.Selection([('reserved', 'Reserved'), ('vacant', 'Vacant')], 'Status')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM