Grundlegendes zu OpenERP Domain Filter?

7

Ich möchte Sie fragen, ob Sie bitte die Anatomie der Openerp-Domainfilter erklären könnten. Ich muss es mein Projekt verwenden. Bitte erläutern Sie die Beschreibung des folgenden Domainfilters.

%Vor%

Ich möchte die genaue Bedeutung von (order_id.user_id','=',user.id) wissen, was ist order_id , user_id und user.id . Verweisen sie auf eine Tabelle? Wenn ja, wie soll ich dann wissen, welcher ...

Grundsätzlich möchte ich wissen, die Notation von unten nach oben zu entschlüsseln, so dass sie es gemäß meiner Anforderung verwenden kann.

    
thesharmaG 25.09.2013, 07:36
quelle

2 Antworten

20

Dieser ist ziemlich einfach.

Betrachte die folgenden Felder (nur XML, das ich hier angegeben habe, Python, das du verwalten musst)

%Vor%

Einzige Bedingung

Betrachten Sie einige einfache Bedingungen bei der Programmierung

%Vor%

Im offenen ERP-Domänenfilter würde es so geschrieben werden

%Vor%

Also ist die von uns abgeleitete Syntax

%Vor%

Nun versuchen wir, ein anderes Feld anstelle des statischen Wertes 5 anzuwenden

%Vor%

Im obigen Beispiel müssen Sie beachten, dass die erste Variable a in einfache Anführungszeichen eingeschlossen ist, während der Wert b nicht ist. Die zu vergleichende Variable steht immer an erster Stelle und wird in einfache Anführungszeichen eingeschlossen. Der Wert ist nur der Feldname. Aber wenn Sie die Variable a mit dem Wert 'b' vergleichen möchten, müssen Sie folgendes tun:

%Vor%

Bedingung UND

Bei der Programmierung

%Vor%

Im Open-ERP-Domänenfilter

%Vor%

Beachten Sie, dass, wenn Sie am Anfang keine Bedingung angeben, die Bedingung und angewendet wird. Wenn Sie statische Werte ersetzen möchten, können Sie einfach die 5 entfernen und den Feldnamen angeben ( strikt ohne Anführungszeichen )

%Vor%

Bedingung ODER

Bei der Programmierung

%Vor%

Im Open-ERP-Domänenfilter

%Vor%

Beachten Sie, dass , angibt, dass es sich um und Bedingung handelt. Wenn Sie Felder ersetzen möchten, können Sie einfach die 5 entfernen und den Feldnamen angeben ( strikt ohne Anführungszeichen )

Mehrfachbedingungen

Bei der Programmierung

%Vor%

Im Open-ERP-Domänenfilter

%Vor%

Auch dieser Beitrag von Arya wird Ihnen sehr helfen. Prost !!

    
Vivek 28.09.2013 19:07
quelle
3

Das '|' ist ein OR, das auf den nächsten Vergleich angewendet wird. Das (..., '=', False) wird in ein IS NULL konvertiert, also wäre das SQL

%Vor%

Der Standardwert ist AND, weshalb Sie nicht überall '& amp;' ('field1', '=', 1), ('field2', '=', 2) sehen.

Beachten Sie, dass ein weiterer nützlicher Wert ('field1', '! =', False) in WHERE field1 IS NOT NULL

konvertiert wird

Es gibt nicht viel großartige Dokumentation dafür, und sie werden ziemlich kompliziert mit mehreren Operatoren, da Sie die Tupel rückwärts durcharbeiten müssen, indem Sie die Operatoren verbrauchen. Ich finde, dass ich selten so komplex benutze, dass ich nur die Abfrageprotokollierung in Postgres aktiviere und Versuch und Irrtum verwende, die generierten Abfragen zu beobachten, bis ich es richtig verstanden habe.

    
Adrian Merrall 26.09.2013 20:06
quelle

Tags und Links