Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Boolesche Felder in MySQL Django-Modellen?

Sie könnten eine eigene Methode für Ihr Modell erstellen, die dies für Sie auswertet:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    def is_active(self):
        return bool(self.active_status)

Dann könnten alle Tests, die Sie für dieses Feld durchführen, stattdessen einfach auf die Methode verweisen:

>>> u.is_active()
True

Sie können dies sogar zu einer Eigenschaft machen:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    @property    
    def is_active(self):
        return bool(self.active_status)

damit Benutzer der Klasse nicht einmal wissen müssen, dass sie als Methode implementiert ist:

>>> u.is_active
True