Может ли кто-нибудь помочь решить эту проблему: Uncaught TypeError: undefined не является функцией? Вот что я сделал:Как фильтровать базу данных/поля на many2one?
Я создал модуль, который в продаже, crm и счет. На классе crm_lead я добавить некоторые изменения:
def _get_available_product(self, cr, uid, ids, name, arg, context=None):
vals = {}
pr_id = []
for rec in self.browse(cr, uid, ids, context=context):
id = rec.id
product_list = self.pool.get('product.product').search(cr,uid,[('product_state','=','available')])
pr_id = [product.id if product.id else False for product in self.pool.get('product.product').browse(cr,uid,product_list,context=context)]
vals[id] = {'product_ids':pr_id}
return vals
def _defaults_product(self, cr, uid, ids, context=None):
product_list = self.pool.get('product.product').search(cr,uid,[('product_state','=','available')])
pr_id = [product.id if product.id else False for product in self.pool.get('product.product').browse(cr,uid,product_list,context=context)]
value = {"value":{'product_ids':pr_id}}
_logger.info("\n\n\t\t\tVALUE %s"%(str(value)))
return value
_columns = {
'product_id' : fields.many2one('product.product','Product'),
'product_ids' : fields.function(_get_available_product, type='many2many', relation='product.product', method=True, store=False, multi='compute_available_product', string='Available Product'),
}
_defaults = {
'product_ids' : _defaults_product,
}
На crm_lead_view.xml
<group>
<field name="product_ids" nolabel="1" widget="many2many" invisible="1"
</group>
<group>
<group>
<field name="product_id" required="1" domain="[('id','in',product_ids[0][2])]"/>
....
и когда я пытаюсь создать Свинец, ошибка клиента всплывал так же, как выше. Моя цель на самом деле заключается в том, что, если я создаю вывод, я хочу отфильтровать product_id так, чтобы показанные только те продукты w/c product_state были «доступны».
Любая помощь очень ценится.
Проблемы этого случаем является то, что «product_state» не определяет в классе 'crm.lead', а определяется классом product.product. –
Да, определенно product_state является частью продукта, но не частью crm.lead, так что в этом случае мы должны установить состояние продукта, которое вы должны добавить в наш объект продукта –