2016-11-29 4 views
0

Ich arbeite an dieser Odoo Zuordnung. Ich muss ein benutzerdefiniertes Modul erstellen, in dem die Anforderung so ist.Benutzerdefinierte Daten in one2many Feld in Odoo

Es gibt ein Formular sagen "Notebook" es enthält ein Feld, das von "hr.employee" kommt, d. H. Many2one. Das nächste, was dieses Formular enthält, ist eine Tabelle mit 3 Spalten (Qualität, Bewertung, Kommentar). Jetzt müssen Qualitäten eine Master-Tabelle sein, die viele Qualitäten enthält.

Ich habe diese Aufgabe in der Weise SalesOrder Formular funktioniert, d. H. Für einen bestimmten Auftrag gibt es mehrere Vertriebslinien.

Aber ich möchte, dass alle Qualitäten dort mit Standard Score-Wert von 0.

hier auf Form sein ist der Code

Bitte sagen Sie mir die Auflösung

class qualities_fields(models.Model): 

    _name = "ayda.qualities.fields"  
    _description = "Contains only Attributes"   
    @api.multi  
    def name_get(self): 

     data = []   
     for rows in self: 

      value = ''    
      value += rows.quality_name    
      data.append((rows.id, value))   
     return data   

    quality_name = fields.Char(string="Quality Name") 

class qualities_data(models.Model): 

    _name = "qualities.data"  
    _description = "All points mandatory to be filled"  
    quality_id = fields.Many2one('notebook', string="Quality IDs")  
    quality_name = fields.Many2one('qualities.fields', string="Quality Name")  
    score = fields.Integer(string="Score")  
    comment = fields.Char(string="Comment") 

class notebook(models.Model): 

    _name = "notebook"  
    _description = "Checking one2many of qualities" 
    def createRecords(self): 

     cr = self.pool.cursor()   
     quantity_fields = self.pool.get('qualities.fields').search(cr, self.env.uid, [])   
     quantity_lines = []   
     for field in quantity_fields: 

      quality_data = {       
          'quality_id' : self.id,       
          'quality_name' : field.id, 
          'score' : 0, 
          'comment' : ''      
          } 
      quantity_lines.append(quality_data)   
     return quantity_lines 
    name = fields.Many2one('hr.employee', string="Name")  
    qualities_line = fields.One2many('qualities.data', 'quality_id', string="Qualities Line", default=createRecords) 

Antwort

0

Es ist ein einfacher Weg, Um dies zu tun, auf der Felddefinition setzen Sie einfach die Standard-Score auf 0

Auf diese Weise würden alle Ergebnisse null sein, wenn sie erstellt werden

Verwandte Themen