Odoo Help


Integrity error while adding calendar view.

Kapil More
on 8/5/15, 1:45 AM 607 views

In odoo 8.0, I am working on Hotel Management module but while adding calendar view to display reservations why I have this kind of error like,

IntegrityError: insert or update on table "hotel_restaurant_order" violates foreign key constraint "hotel_restaurant_order_waiter_name_fkey" DETAIL: Key (waiter_name)=(10) is not present in table "res_partner".

Can anyone suggest me the solution?

Here is the code,

class hotel_restaurant_order(osv.Model):

    def _sub_total(self, cr, uid, ids, field_name, arg, context=None):

            res = {}

            for sale in self.browse(cr, uid, ids, context=context):

                res[sale.id] = sum(line.price_subtotal for line in sale.order_list)

            return res

    def _total(self, cr, uid, ids, field_name, arg, context=None):

            res = {}

            for line in self.browse(cr, uid, ids, context=context):

                res[line.id] = line.amount_subtotal + (line.amount_subtotal * line.tax) / 100

            return res

    def generate_kot(self, cr, uid, ids, part):

           order_tickets_obj = self.pool.get('hotel.restaurant.kitchen.order.tickets')

           restaurant_order_list_obj = self.pool.get('hotel.restaurant.order.list')

            for order in self.browse(cr, uid, ids):

                table_ids = [x.id for x in order.table_no]

                kot_data = order_tickets_obj.create(cr, uid, {





                        'tableno':[(6, 0, table_ids)],


                for order_line in order.order_list:

                    o_line = {





                        restaurant_order_list_obj.create(cr, uid, o_line)

                return True

_name = "hotel.restaurant.order"

_description = "Includes Hotel Restaurant Order"

_columns = {

'order_no':fields.char('Order Number', size=64, required=True),

'o_date':fields.datetime('Date', required=True),

'room_no':fields.many2one('hotel.room', 'Room No'),

'waiter_name':fields.many2one('res.partner', 'Waiter Name'),

'table_no':fields.many2many('hotel.restaurant.tables', 'temp_table2', 'table_no', 'name', 'Table Number'),

'order_list':fields.one2many('hotel.restaurant.order.list', 'o_list', 'Order List'),

'tax': fields.float('Tax (%) '),

'amount_subtotal': fields.function(_sub_total, method=True, string='Subtotal'),

'amount_total':fields.function(_total, method=True, string='Total'),


_defaults = {

'order_no': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'hotel.restaurant.order'),


About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 8/5/15, 1:45 AM
Seen: 607 times
Last updated: 8/5/15, 1:45 AM