跳至内容
菜单
此问题已终结
5 回复
28585 查看

class Student(models.Model):

default_selected_student = fields.Boolean(default=False)

if I select one student, the other student should be unselected.  So, there can be only one who is selected.

How can i do that?



形象
丢弃
最佳答案

use api.constrains

@api.constrains('default_selected_student')
def _change_student_status(self):
    if self.default_selected_student:
        students = self.env['<_name>'].search([('id', '!=', self.id)])
        for student in students:
            student.default_selected_student = False

Ok... I think that you could do the the for with a single write, but don't know the exactly how to do it off my head.

Replace the <_name> with your models value for _name.  



形象
丢弃

you could probably use api.depends

最佳答案

for me its not working i am getting error plz solve this error brother


class AcademicYear (models.Model):
        _name = 'edudibonmaster.academicyear'
        _rec_name = 'academicyear'
        _description = 'Academic Year'

        academicyear = fields.Char(string="Academic Year", size = 9, required = True)
        startdate = fields.Date(string="Start Date", required = True)
        enddate = fields.Date(string="End Date", required = True)
        current = fields.Boolean(string = "Active", required = True)

        # constraints unique value


        @api.constrains('current')
        def _change_academic_year(self):
                if self.current:
                        years = self.env['edudibonmaster.academicyear'].search([('id', '!=', self.id)])
                        for year in years:
                                year.current = False

Error :

  File "/opt/odoo/odoo/odoo/service/model.py", line 141, in wrapper
    raise ValidationError(inst[0])
TypeError: 'IntegrityError' object does not support indexing


形象
丢弃
编写者

can you send me where the problem is?

ok i will send my module

hi can u help me

编写者

try to use @api.multi

编写者

I mean @api.onchange('current')

编写者 最佳答案

it works. thanks a lot.

形象
丢弃

no problem... than you could like it or select it as the correct answer :)

相关帖文 回复 查看 活动
1
3月 18
4055
1
1月 20
4897
0
11月 18
2771
1
3月 25
828
2
7月 24
2423