gpt4 book ai didi

python - 如何在 python、odoo 中使用 For 循环正确计数?

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:47 25 4
gpt4 key购买 nike

存在不同类型的图书记录,该函数仅统计其中一种。我怎样才能让它计算所有流派?

功能:

@api.multi
def _total_count(self):

for genre in self:
if genre.name:
count_num = 0
ids = self.env['books.books'].search([('genre_ids', '=', genre.name)])
if ids:
count_num += 1
genre.count = count_num

最佳答案

如果您在性别模型中有一个计算字段count并且您想要每当您将一本书添加到该性别时自动设置其值你可以这样做:

  1. 首先,我假设 gender_ids 是您书中的 Many2many 字段让我们假设定义如下:
           gender_ids = fields.Many2many(co_model='gender.model.name',
relation='book_gender_rel',
column1='book_id',
column2='gender_id')
  • 因此您需要在性别中创建相同的 many2many 字段,我的意思是该字段应该具有相同的字段名称和相同的关系名称仅对column1和column2的值进行小幅更改,如下所示:
  •        book_ids = fields.Many2many(co_model='book.book',
    relation='book_gender_rel',
    column1='gender_id',
    column2='book_id')
  • 使您的 count 字段成为这样的计算字段,最好添加store=True 如果计算量很大,并且你不想取很多时间只是为了在 View (特别是 TreeView )中显示性别记录。
  •        # I renamed the field just to be more readable for others.
    count_book = fields.Integer(string='Number of books',
    compute='count_number_of_books',
    store=True,
    help='Contains number of book that belong to this gender')


    @api.depends('book_ids')
    def count_number_of_books(self):
    """ Count number of books that belong to this gender."""
    for gender in self:
    gender.count_book = len(gender.book_ids)

    这样您就可以在报告或其他任何地方使用 count_book,而无需不必担心计算它,因为 Odoo 会处理它。

    关于python - 如何在 python、odoo 中使用 For 循环正确计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53302823/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com