Mysql
 sql >> Base de données >  >> RDS >> Mysql

Champs booléens dans les modèles MySQL Django ?

Vous pouvez créer votre propre méthode pour votre modèle qui évalue cela pour vous :

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

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

Ensuite, tous les tests que vous effectuez sur ce champ pourraient simplement faire référence à la méthode à la place :

>>> u.is_active()
True

Vous pouvez même en faire une propriété :

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

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

pour que les utilisateurs de la classe n'aient même pas besoin de savoir qu'elle est implémentée en tant que méthode :

>>> u.is_active
True