Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
5 Ответы
28601 Представления

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
2431