创建多个saleord

2024-05-16 05:38:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据中的输入字段(产品数量)创建多个销售订单客户关系经理. 在

@api.multi
def create_sale(self):
    values = {
        'opportunity_id': self.id,
        'state': 'draft',
        'date_order': datetime.now(),
        'partner_id': self.partner_id.id
    }

    print '###############', self.product_quantity
    for i in range(0, self.product_quantity):
        print '$$$$$$$$$$$$$$$$'
        res = self.env['sale.order'].create(values)
        print res

我收到如下错误弹出

^{pr2}$

Tags: 订单selfidpartnercreateorderressale
2条回答

我也遇到了同样的问题,在深入搜索之后,我在mail模块中发现了一个惟一的约束addons/mail/models/mail_followers.py。在

_sql_constraints = [
    source of problem =====>   ('mail_followers_res_partner_res_model_id_uniq', 'unique(res_model,res_id,partner_id)', 'Error, a partner cannot follow twice the same object.'),
    ('mail_followers_res_channel_res_model_id_uniq', 'unique(res_model,res_id,channel_id)', 'Error, a channel cannot follow twice the same object.'),
    ('partner_xor_channel', 'CHECK((partner_id IS NULL) != (channel_id IS NULL))', 'Error: A follower must be either a partner or a channel (but not both).')
]

然后,我使用一个SQL查询来创建我的记录,在您的例子中:

^{pr2}$

@Khelili,谢谢分享。添加上下文对我很好。我在谷歌上找到的。在

    for i in range(0, self.product_quantity):
        values = {
            'name': self.env['ir.sequence'].next_by_code('sale.order'),
            'opportunity_id': self.id,
            'state': 'draft',
            'date_order': datetime.now(),
            'partner_id': self.partner_id.id,
            'count_total': self.total_count,
            'product_categ': self.product_categ.id
        }
        res = self.env['sale.order'].with_context(mail_create_nosubscribe=True).create(values)

相关问题 更多 >