NacerAdamouSaidou / Dev / Python

Quelques idées à propos de python en général et de django en particulier.

Integrer facilement les modifications des modèles dans la bd

Les modèles Django et l'héritage

class Comptable(models.Model):
        libelle = models.CharField(max_length=30)
        desc = models.TextField('description', help_text='description')
        code = models.IntegerField('code',help_text='code')

        def __unicode__(self):
                return "%s - %s" % (str(self.code), self.libelle)

        class Meta:
                abstract = True

class Groupe(Comptable):
        parent = models.ForeignKey('self', null=True)

class Compte(Comptable):
        parent = models.ForeignKey(Groupe, null=True)

        def __unicode__(self):
                return '%s '% self.libelle

Code pour représenter la contrainte: un Compte peut appartenir à un Groupe ou non, et un Groupe peut être sous Groupe d'un autre Groupe ou non. On peut génériciser ce code pour l'adapter à n'importe quelles structures de données ayant des relations de type père - enfant (un arbre). Par exemple, si on veut représenter des organigrammes simples (du genre chaque employé n'a qu'un seul chef) ;-).

NacerAdamouSaidou/Dev/Python (dernière édition le 2010-10-26 08:46:08 par NacerAdamouSaidou)