This question has been flagged
1 Reply
9297 Views

I have create a new module which has more number of fields I called this in python as a column


from openerp.osv import fields, osv

class autobuy_fields(osv.osv):

_name = "autobuy.fields"

_description = "autobuy fields"

_columns = {

'name': fields.char('Source'),

'created':fields.datetime('Created'),

'vin':fields.char('Vin'),

'year':fields.selection([('2012'), ('2013'), ('2014')]),

'make':fields.selection([('Jeep'), ('SUV'), ('TUV')]),

'model':fields.selection([('Model1'), ('Model2'), ('Mopdel3')]),

'color':fields.char('Color'),

'mileage':fields.float('Purchased Mileage'),

'boffer':fields.float('AutoBuy Offer'),

'coffer':fields.float('Customer Offer'),

'soffer':fields.float('Second AutoBuy Offer'),

'amount':fields.float('Purchase Amount'),

'price':fields.float('Asking Price'),

'aoffer':fields.float('AutoTrader Offer'),

'sroffer':fields.float('SR Buyer Offer'),

'samount':fields.float('Sold Amount'),

'fname':fields.char('First Name'),

'lname':fields.char('Last Name'),

'cname':fields.char('Co-Owner Name'),

'address':fields.char('Address'),

'city':fields.char('City'),

'state':fields.char('State'),

'zip':fields.integer('Zip'),

'cphone':fields.integer('Cell Phone'),

'hphone':fields.integer('Home Phone'),

'email':fields.integer('Email'),

'pdate':fields.date('Purchase Date'),

'udate':fields.date('Pickup Date'),

'stock':fields.char('Stock No'),

}


It shows error as "too many columns to unpack" If I give only 8 fields it does not shows error If I give more than 8 values it shows the error.

How can I solve this or it only take 8 fields?

Avatar
Discard

the error is not number of fields but the definition of selection field.

Best Answer

The error is because of the wrong definition of selection field. It is supposed to be a list of tuples. 

try changing your selection field definition like below

'year':fields.selection([('2012','2012'), ('2013','2013), ('2014','2014')], string='Year'),
'make':fields.selection([('j','Jeep'), ('s','SUV'), ('t','TUV')], string='Make'),
'model':fields.selection([('1','Model1'), ('2','Model2'), ('3','Mopdel3')], string='Model'), 


for more info on selection field follow theDoc

Avatar
Discard
Author

Thanks for your replay