Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
5 Відповіді
28602 Переглядів

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 :)

Related Posts Відповіді Переглядів Дія
1
бер. 18
4065
1
січ. 20
4913
0
лист. 18
2773
1
бер. 25
835
2
лип. 24
2432