Welche verwandten Felder werden in OpenERP verwendet?

8

Kann mir jemand etwas über verwandte Bereiche erklären? Zum Beispiel -

  • Wie es benutzt wurde
  • Wie kann man helfen
  • ?
  • Für welche Art von Szenario sollte ich fields.related
  • verwenden

Wenn jemand ein kleines Beispiel für die reale Nutzung von Feldern geben kann. Ich würde mich freuen.

    
necromancer 08.10.2010, 04:20
quelle

4 Antworten

9

Damit können Sie ein Feld aus einer verwandten Tabelle ziehen. Weitere Details finden Sie im Entwicklerhandbuch . Ein Beispiel, das Sie sich ansehen sollten, ist das order_partner_id -Feld der Klasse sale_order_line . In Version 5.14 befindet sich das in Zeile 806 von addons/sale/sale.py .

Ich finde oft, dass ich ein Feld in einer Liste anzeigen möchte, aber es ist auf einem übergeordneten Datensatz statt der tatsächlichen Tabelle, die ich auflisten.

    
Don Kirkby 08.10.2010, 19:42
quelle
8

Wenn Sie ein verwandtes Feld verwenden, müssen Sie zuerst auswählen, welches Feld verknüpft werden soll. Zum Beispiel erstelle ich ein neues Modul zum Hinzufügen von Studentendetails. Hier ist der Student eigentlich der Partner. Also _rec_name='partner_id' wird genommen. In res.partner haben Sie vielleicht das ref -Feld gesehen. Der Wert im Feld ref wird als internal_number für das Schülermodul verwendet.

Also, was wir hier machen, ist

%Vor%

Wenn das Feld, das wir als verwandtes Feld anzeigen möchten, ein Auswahlfeld ist, müssen Sie type='selection' und selection=[(case1,case1),(case2,case2),...] eine Liste von Tupeln angeben. Wenn es ein many2one-Feld ist, dann type='many2one' und relation='model_name' .

    
OmaL 29.11.2011 10:05
quelle
1

Sie finden ein Beispiel in der OpenERP-Entwicklerdokumentation, in der Normalisierung der Datenbank heißt es Transitive Abhängigkeit .

    
Cristian Salamea 09.05.2011 21:49
quelle
1

verwandte Felder führen das Steuerelement zu einer anderen Tabelle die Elterntabelle wird eine onetomany Beziehung mit der Kindtabelle haben, und die Kindtabelle hat eine viel-zu-eine Beziehung zu der Elterntabelle. zB: die account.invoice zu account.invoice.line mit dem folgenden Feld

'invoice_line': fields.one2many ('account.invoice.line', 'invoice_id', 'Rechnungszeilen', readonly = True, states = {'draft': [('readonly', False)]}) ,

und account.invoice.line beziehen sich auf account.invoice mit dem folgenden umgekehrten Code.

'invoice_id': fields.many2one ('account.invoice', 'Rechnungsreferenz', ondelete = 'cascade', select = True),

    
Pravitha V 19.04.2012 04:55
quelle

Tags und Links