кнопка, которая обновляет данные - PullRequest
0 голосов
/ 04 декабря 2018

но он возвращает непосредственно чаку, и я хочу, чтобы только если он был выбран, он его возвращает

Я упросту это, чтобы понять, мне нужно это в model.py, когда человек выбираетопция «SIM», которая добавляет и обновляет chekout с datatimenow, но я не могу это сделать

Model.py

SAIDA_CHOICES = (
    ('Não', 'Não Pago'),
    ('Sim', 'Pago')
)

class MovRotativo(models.Model):
    checkin = models.DateTimeField(auto_now=True, blank=False, null=False,)
    checkout = models.DateTimeField(auto_now=True, null=True, blank=True)
    email = models.EmailField(blank=False)
    placa = models.CharField(max_length=7, blank=False)
    modelo = models.CharField(max_length=15, blank=False)
    valor_hora = models.DecimalField(
        max_digits=5, decimal_places=2, null=False, blank=False)
    pago = models.CharField(max_length=15, choices=PAGO_CHOICES)
    chk = models.CharField(max_length=15, choices=SAIDA_CHOICES)

     def saida(self):
        if self.chk == 'sim':
            return self.chk
        else:
            self.checkout = models.DateTimeField(auto_now=True)
            return self.checkout

1 Ответ

0 голосов
/ 04 декабря 2018

Самый простой способ - реализовать все окно как подкласс tk Frame, а затем уничтожить и воссоздать его.Ваш код может выглядеть примерно так:

import Tkinter as tk

class Example(tk.Frame):
    def __init__(self, parent):
        tk.Frame.__init__(self, parent)
        <other code here...>

class Application:
    def __init__(self):
        self.root = tk.Tk()
        self.frame = None
        refreshButton = tk.Button(self.root, text="refresh", command=self.refresh)
        self.refresh()

    def refresh(self):
        if self.frame is not None:
            self.frame.destroy()
        self.frame = Example(self.root)
        self.frame.grid(...)

Хотя нет ничего особенного в подклассе Frame.Вам просто нужно иметь функцию, которая создает фрейм и помещает в него кучу виджетов.Когда вы хотите обновить, просто удалите рамку и снова вызовите вашу функцию.Использовать класс немного удобнее, но класс не является строго обязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...