2017-07-28 5 views
0

Ich baue gerade ein Modul wie ein Projektmodul, das die Kanban-Ansicht für das Modell 'test.project' anzeigt und wenn ich auf die Kanban-Ansicht klicke, zeigt es Baumansichten für den Modell-Test. Aufgabe 'bezogen auf' test.project '.Odoo 9 kann ID nicht von many2one Modell speichern

Also machte ich einen Code unter

class Test_project(osv.osv): 

    _name = "test.project" 
    _columns = { 
     'name': fields.char('Name'), 
     'task_ids': fields.one2many('test.task', 'project_id', string='TASK') 
    } 

class Test_Task(osv.osv): 

    _name = 'test.task' 
    _columns = { 
     'project_id': fields.many2one('test.project', string='Project ID', required=1), 
    } 

Wenn ich ein Datum für ‚test.project‘ gespeichert, es wird korrekt gespeichert, aber wenn ich ein Datum für ‚test.task‘ gespeichert, es zeigt eine Fehler, der ist

Kann die ID nicht bekommen.

+0

in Ihrer 'test.task' project_id ist erforderlich, so während beim Erstellen von Datensatz für 'test.task' project_id = False, so gibt es diesen Fehler –

+0

@ADVALAKI Dann erhalten Sie project_id beim Erstellen eines Datensatzes für 'test.task' ? –

Antwort

1

Sie haben required=1 für die Definition des Felds project_id festgelegt. Das bedeutet, dass Sie jedes Mal, wenn Sie einen Datensatz erstellen und speichern, einen Wert für diese Felder angeben müssen, da Sie ihn andernfalls nicht speichern können.

+0

Dann gibt es eine Möglichkeit, Project_id zum Speichern auf dem Datensatz zu erhalten? Ich kann keinen Weg in der Kernquelle finden. –

+0

Was genau möchten Sie tun? Bitte geben Sie konkret an –

+0

Ich möchte project_id in einem Modell 'test.task' speichern, um es in einer Baumansicht mit der Domäne [(project_id = active_id)] ​​zu verwenden. Also hat jeder test.project-Datensatz nur test.task-Datensätze, die many2one zu test.project –