上午:
需要在odoo后台的一个“是否被确认”的一个bool字段,但是如果要修改的话每次都要进入编辑页面再修改再保存就很麻烦了,能不能加一个按钮进行确认的动作呢?
百度上看了好多网站,并没有找到什么有用的资料,开发者文档里面似乎也没有很明显的线索
下午:
问题1:进行项目的合并——有一些发现不了的bug,总是利用删库再新建来解决
问题2:对xml的树形视图中添加一个按钮,通过点击按钮来改变一个bool字段的状态,
实现方法为,
在xml视图中添加一个button定义:
<button type="object" name="changeState" string="确认"/>
Name字段定义的值就是在这个model中的一个方法,在model中的方法代码如下:
@api.multi
def changeState(self):
for item in self:
item.confirmed = True
这样就可以实现到点击按钮改变该状态的效果。
问题3:
在一个模型中,重写write方法,要求在修改时,也修改另外2个model的一些记录的字段的值
代码实现如下:
# #---------------------------重写write方法,修改净值和现金转账,from lwl-------------------------------------#
@api.multi
def write(self, vals1):
# 先对净值进行调整:当前净值减去每份分红额
#vals1这个字典只有更新过的字段内容的!!!
each = self.each #旧的分红值
if vals1['each'] is not None:
each = vals1['each']
dividend_model= self.env['wens.investment.financing.dividend']
dividend_records = dividend_model.search([('id', '=', self.id)])
old_each_value = dividend_records['each']
value_change_model = self.env['wens.investment.financing.value.change']
value_change_records = value_change_model.search([('product_id', '=', int(self.product_id)),('dividend_id','=',int(self.id))])
for item in value_change_records:
item.value = item.value + old_each_value - each #更新
item.remark = '分红,净值更新'
item.product_id = self.product_id
item.change = -each #lwl修改了负号
# 添加每个人的现金转账记录
cash_transfer_model = self.env['wens.investment.financing.cash.transfer']
cash_transfer_records = cash_transfer_model.search(
[('product_id', '=', int(self.product_id))]
)
subscription_model = self.env['wens.investment.financing.subscription']
subscription_records = subscription_model.search(
[('product_id', '=', int(self.product_id)), ('confirmed', '=', 'True'), ('paid', '=', 'True')])
for item1 in cash_transfer_records:
for item2 in subscription_records:
#item1.dividend_id = self.id,
#item1.user_id = item2.user_id.id,
item1.money = float(item2.money*each)
print item2.money, each
print item1.money
item1.transfer_direction = u'收入'
item1.remark = u'分红收入'
return super(dividend,self).write(vals1)
# #---------------------------重写write方法,修改净值和现金转账,from lwl-------------------------------------#
提提2个自己遇到过的问题:
说说自己一直以来搞错的一个git的地方:每次提交到远程仓库时,必须先commit到本地仓库,确认使用该版本后,才最后push到远程仓库上。
想起了python一个很重要的一个点,就是python类里面的的自带的参数self,表示是本对象!