Ich würde gerne wissen, ob es eine Möglichkeit ist, eine ganze Zahl irgendwo in odoo zu speichern, ohne ein neues Objekt erstellen zu müssen. Ich möchte eine Nummer behalten, um nur Partner mit einer ID anzuzeigen, die dieser Nummer überlegen ist. Aber ich möchte kein Feld in jedem einzelnen Datensatz von res.partner hinzufügen. Wie kann ich eine Nummer haben, die ich in meine XML-Datei einbinden kann, ohne dass es ein Feld von res.partner ist?Speichern eines int in odoo
1
A
Antwort
1
Sie können das Modell ir.config_parameter
für solche Fälle verwenden. Gewöhne dich an die Methode set_param() und get_param().
Der Parameter enthält seinen Wert als String, also wird er für mein Beispiel in Integer geparst. Die XML-ID lautet my_module.test_parameter
.
Aber die Verwendung in der Ansicht ist ein bisschen schwierig. Ein Weg wäre ein Filter mit einem Kontext „Signal“ innerhalb der Suchansicht des Modells sein:
<filter name="my_filter" string="My Filter" context="{'search_by_parameter':1}" />
Damit könnten Sie die Suche() des Modells überschreiben die Parameter zu verwenden, wenn die Filter aktiviert wurde:
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
context = dict(context or {})
if 'search_by_parameter' in context:
try:
value = int(self.pool.get('ir.config_parameter').get_param(cr, uid, 'my_module.test_parameter'))
except:
value = 0
args.append(('id', '>', value))
return super(my_model, self).search(cr, uid, args, offset, limit, order, context, count)
Verwandte Themen
- 1. Zeige ein Popup beim Speichern eines Datensatzes auf Odoo/Openerp
- 2. Speichern in einer Funktion onchange (Odoo)
- 3. Zurückgeben eines int [] nach dem Speichern in einer LinkedList
- 4. Typeerror: 'int' Objekt ist nicht iterable in odoo
- 5. Odoo [v9] Dateien im Dateisystem speichern
- 6. Einen einzelnen int in NSdefaults speichern
- 7. In Odoo, wo Advanced-View-Editor in Speichern von Dateien
- 8. Int in Binärdatei in c speichern
- 9. Odoo Fehler: TypeError: 'int' -Objekt ist nicht iterierbar
- 10. Tabelle der Int-Arrays speichern
- 11. Umwandlung eines Ascii in Int
- 12. Konvertieren eines char * in int
- 13. Erstellen eines Datensatzes in einem Modell beim Erstellen eines Datensatzes in einem anderen Modell in odoo
- 14. NumberFormatException beim Analysieren eines int
- 15. Hashcode eines int
- 16. Vergleichen eines int mit mehreren int in einer if-Anweisung
- 17. Konvertieren eines Int in QBytearray in Qt
- 18. Wie speichert Odoo Session?
- 19. Dynamische Feldauswahl in odoo
- 20. Vorlage Vererbung in odoo
- 21. Aktualisierungskontext in Odoo 8
- 22. in odoo 9
- 23. Direktversand in Odoo
- 24. Wie in odoo
- 25. Odoo - Fehlerkontext
- 26. Java: Speichern Graustufen Int-Array zu Bild
- 27. Warum kann Java 0xff000000 als int speichern?
- 28. Speichern Android Farbe als Int Notation
- 29. Speichern ist eine Referenz auf einen int
- 30. Zuweisen eines Nullwert in einen int
Vielen Dank, ich werde versuchen, eine Dokumentation zu diesem Thema zu finden. –
Sorry, eine Frage hinzuzufügen, aber: Wo setzen Sie den Parameter? Ich habe es in einem transienten Modell versucht, wie ich es bei anderen Diskussionen gesehen habe, aber es scheint nicht so zu sein, wie es hier sein sollte. (Ich möchte die höchste ID speichern, wenn ein bestimmtes Feld von res_partner exportiert wird). Weißt du wie ich es machen soll? Muss ich eine neue Klasse erstellen? –
Das Modell/die Klasse ist bereits da: 'ir.config_parameter '. Sie finden die Standardparameter unter Einstellungen/Technisch/Parameter/Systemparameter. Erstellen Sie einfach einen config_parameter, indem Sie den XML-Datensatz in Ihrem Modul verwenden und diesen für Ihren Zweck verwenden. Implementieren Sie einen set_param() - Aufruf in Ihre Exportausführung, um einen neuen Wert im config_parameter zu speichern. – CZoellner