Ich möchte die Gesamtzahl der Datensätze auf dem Bildschirm zeigen. Dafür habe ich die Abfragesprache für die Funktion geschrieben und ich bekomme das Wunschergebnis auf dem Ubuntu 14.04 Befehlszeilenbildschirm, indem ich diesen Wert aus dem Python-Code drucke. Aber wenn ich diesen Wert in der Funktion zurückgebe, dann zeigt es mir Fehler Popup-Meldung "TypeError: 'int' Objekt ist nicht iterierbar". Also, jeder kann mir die richtige Lösung für dieses Problem geben. Mein Python-Code für Funktion und Feld ist unten.'Int' Wert ist keine Rückgabe in Funktion für odoo 8
Python-Code:
def get_count(self, cr, uid, ids, sequence, arg, context=None):
cr.execute('SELECT count(*) from sun_helpdesk')
u_data = cr.fetchall()
print "cr:", u_data
print "res:",int(u_data[0][0])
return int(u_data[0][0])
_columns = {
'sequence': fields.function(get_count, method=True, string='Total Tickets', type='integer'),
}
XML-Code: In XML hat dieses Feld einfach.
Ergebnis auf dem Ubuntu-Screen ist:
cr: [(101L,)]
res: 101
new_values = dict(values)
TypeError: 'int' object is not iterable
Was ist 'values' in' new_values = dict (values) '? – quamrana
Entfernen Sie 'int' von' int (u_data [0] [0]) 'und testen Sie es. Ich schätze, was du bekommst, ist ein Tupel und dann versuchst du, es zu einem Int zu machen. – 0decimal0