Ich habe ein Modul für die Verwaltung von Hotelzimmern erstellt und möchte die Verfügbarkeit von Zimmern in Python überprüfen. Ich habe das Kontrollkästchen available = fields.Boolean()
übernommen. Nun möchte ich, dass es automatisch überprüft wird, wenn ich check_in_time eintrage. Also, wie kann ich das tun? Ich habe check_in_time=fields. Datetime()
genommen. Ich habe schon versucht, wie diese ...Wie Sie das Kontrollkästchen aktivieren, indem Sie den Wert in ein anderes Feld eingeben?
class Hotel_Management(models.Model):
check_in_time = fields. Datetime()
available = fields.Boolean()
@api.onchange('check_in_time')
def auto_check(self):
for a in self:
if a.check_in_time:
a.available=True
print a.available
else:
print a.available
Aber es ändert den Wert der Checkbox nur im Terminal .... nicht in der Datenbank .... es nimmt „false“ Wert standardmäßig jedes Mal, . Also, sag mir, wie man den Wert der Checkbox in der Datenbank ändert?
Ich denke, Sie müssen die Modellinstanz speichern, nachdem Sie ihr 'available' Feld aktualisiert haben. Probieren Sie 'a.save()'. –
Überprüfen Sie diese http://stackoverflow.com/questions/33080950/onchange-functions-on-boolean-fields-in-odoo-8 – Zety