Modifications entre les versions 3 et 4
Version 3 à la date du 2009-10-15 14:24:44
Taille: 1831
Éditeur: ThomasNoël
Commentaire:
Version 4 à la date du 2010-10-26 08:46:08
Taille: 1882
Commentaire: Regrouper mes pages liés au dev au meme endroit
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was renamed from NacerAdamouSaidou/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

  • j'utilise python-django-dmigrations qui s'installe avec un simple aptitude install python-django-dmigrations. Cet outil est vraiment cool, et me fait penser à rake migrate de ruby. Ca m'évite aussi de taper du sql à la main (méga cool!). voici un bon tuto dessus.

Les modèles Django et l'héritage

  • petite partie de plaisir avec l'héritage et les modèles django. Un extrait pour s'amuser (c'est un code naif, y a peut être mieux):

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)