首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多个销售顺序

创建多个销售顺序
EN

Stack Overflow用户
提问于 2018-04-27 11:44:54
回答 3查看 362关注 0票数 1

我正在尝试基于输入字段(product_quantity)在crm.lead中创建多个销售订单。

代码语言:javascript
复制
@api.multi
def create_sale(self):
    values = {
        'opportunity_id': self.id,
        'state': 'draft',
        'date_order': datetime.now(),
        'partner_id': self.partner_id.id
    }
    for i in range(0, self.product_quantity):
        res = self.env['sale.order'].create(values)

当弹出时,我收到以下错误

代码语言:javascript
复制
Error, a partner cannot follow twice the same object.
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-09 12:16:35

@Khelili,谢谢大家分享。添加上下文对我来说很好。我在谷歌上查到的。

代码语言:javascript
复制
    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)
票数 2
EN

Stack Overflow用户

发布于 2018-08-09 09:57:34

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

代码语言:javascript
复制
_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查询来创建我的记录,在您的例子中:

代码语言:javascript
复制
@api.multi
def create_sale(self):
    opportunity_id: self.id,
    state: 'draft',
    date_order: datetime.now(),
    partner_id: self.partner_id.id
    current_uid = self.env.user.id

    print '###############', self.product_quantity
    for i in range(0, self.product_quantity):
        print '$$$$$$$$$$$$$$$$'
        res = self.env['sale.order'].create(values)
        result = self.env.cr.execute(("""INSERT INTO sale_order""" 
        """ (opportunity_id, state, date_order, partner_id, create_date, create_uid)"""
        """ VALUES (%s, '%s', '%s', %s, '%s', %s)""")% (
        opportunity_id, state, date_order, partner_id, date_order, current_uid))
票数 1
EN

Stack Overflow用户

发布于 2021-01-24 02:18:41

在我的例子中,我的模型有一个名为" channel_id“的字段,该字段与关注者channel_id混淆。我花了一段时间才弄明白。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50061716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档