Ich bin ein Neuling für Python und odoo. Ich entwickle ein benutzerdefiniertes Modul, um eine Schüleranwendung für eine Schule zu implementieren. Mein Hauptziel ist es, Bewerbungsdaten zu sammeln. Ich habe 3 Modelle dafür.Wie verwendet man ein verwandtes Feld, um ein Attribut eines many2one-Objekts zu setzen?
class ApApplicationsModel(models.Model):
_name = 'ap.applications.model'
class ApPrevSchoolModel(models.Model):
_name = 'ap.prevschool.model'
class ApPersonModel(models.Model):
_name = 'ap.person.model'
_inherit = 'op.student'
ApPersonModel wird verwendet, um die Details der Schüler, Eltern und Erziehungsberechtigten zu speichern. Zu diesem Zweck habe ich eine unsichtbare Auswahl ap_persontype
3 many2one Links in der
ap_father_id = fields.Many2one('ap.person.model','Father Details', readonly=False,related='ap_prevschool_model.ap_name', store=True)
ap_mother_id = fields.Many2one('ap.person.model','Mother Details', readonly=False)
ap_student_id = fields.Many2one('ap.person.model','Student Details')
definiert wurden Attribut habe ich ein Feld
ap_persontype = fields.Selection(
[('student','Student'),('parent','Parent'),('grd','Guardian')], 'Person Type',default='student', track_visibility='onchange')
in ap.person.model
Ich möchte den Typ der Person auf "Student" oder "Eltern" oder "Wächter" festlegen, wenn die Formularansicht initiiert wird, um einige Felder ein- und auszublenden.
Wie mache ich das?
Es ist vielleicht keine gute Übung, so zu handeln. Wie erreiche ich es dann?
meine erste Sorge ist, wie kann ich ap_persontype zu einem ‚Eltern‘ oder ‚grd‘ gesetzt, wenn das Formular geladen wird/initialisiert je nach many2one Objekt von der Aussicht konstruiert werden. Meine zweite Sorge betrifft das Aktivieren oder Deaktivieren von Feldern. Ich bemühe mich, den richtigen Weg zu finden, um meine erste Sorge anzugehen. – Mohammed