Ich erstelle ein Modul für die Studentenverwaltung in "Odoo9", in einem Teil dieses Moduls möchte ich die durchschnittliche Note berechnen, die ein Schüler in einem Fach wie "Mathe" bekommt. Ich versuche es zu erreichen das Verwenden dieses Codes, aber ich habe ein Problem, die "Avg-Maths" direkt nach dem Füllen "Maths-1" und "Maths-2" zu berechnen, kann es nur nach dem Speichern des Schülerprofils berechnet werden. Kann mir jemand helfen, bitte realisieren Frage hier? und wie kann ich das beheben? Berechnete Felder Odoo9
#student class
class student_student(models.Model):
'
'
'
result_ids = fields.One2many("schoolresults.detail", "student_id", "School Results")
'
'
'
class schoolresults_detail(models.Model):
_name = "schoolresults.detail"
_description = "Student's results."
student_id = fields.Many2one("student.student", "Student", ondelete="cascade")
subject_id = fields.Many2one("schoolresults.subject", "Subject")
result_manual = fields.Float("Result")
result = fields.Float(compute='_compute_value',store=True)
manual = fields.Boolean(compute='_is_manual', default=False)
@api.one
@api.depends('manual')
def _is_manual(self):
self.manual = self.subject_id.my_id
@api.one
@api.depends('result_manual','subject_id','subject_id.my_id')
def _compute_value(self):
self.ensure_one()
results = self.env['schoolresults.detail'].search([])
total = 0
for data in results:
total += data.result_manual
for data in results:
#if the subject is the average of others
if data.subject_id.my_id:
data.result = total
class schoolresults_subject(models.Model):
_name = "schoolresults.subject"
_description = "Student's subjects."
my_id = fields.Integer(default=0)
name = fields.Char("Subject")
Entweder sollte das Feld Eingabe akzeptieren oder es sollte berechnet werden, aber in Ihrem Fall avg ist berechenbar und Mathematik und Physik-Marken eingegeben werden. Verwechsle die Dinge nicht. Sie müssen den Durchschnitt dieser Themen in das Elternmodell aufnehmen. –
Das bedeutet, dass ich das durchschnittliche Feld in der Ansicht result_ids nicht anzeigen kann, es wird in der Schüleransicht angezeigt? – pourjour