Skip to content

Instantly share code, notes, and snippets.

@arruda
Created December 15, 2011 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arruda/1481088 to your computer and use it in GitHub Desktop.
Save arruda/1481088 to your computer and use it in GitHub Desktop.
Django - Herança, Modelos Abstratos e OO Na Veia
class C(models.Model):
nome = models.CharField(u"Nome", max_length=250)
class Meta:
abstract = True
class A(C):
atributo_a = models.CharField(u"Atributo de A", max_length=250)
class B(C):
atributo_b = models.CharField(u"Atributo de B", max_length=250)
class F(models.Model):
chave_f = models.ForeignKey('nomeApp.D')
class Meta:
abstract = True
class C(models.Model):
name = models.CharField(u"Nome", max_length=250)
class Meta:
abstract = True
class A(C, F):
atributo_a = models.CharField(u"Atributo de A", max_length=250)
class B(C, F):
atributo_b = models.CharField(u"Atributo de B", max_length=250)
class F(models.Model):
chave_f = models.ForeignKey('nomeApp.D',related_name='meus_%(class)ss')
class Meta:
abstract = True
class C(models.Model):
name = models.CharField(u"Nome", max_length=250)
class Meta:
abstract = True
class A(C, F):
atributo_a = models.CharField(u"Atributo de A", max_length=250)
class B(C, F):
atributo_b = models.CharField(u"Atributo de B", max_length=250)
class C(models.Model):
nome = models.CharField(u"Nome", max_length=250)
class A(C):
atributo_a = models.CharField(u"Atributo de A", max_length=250)
class B(C):
atributo_b = models.CharField(u"Atributo de B", max_length=250)
class A(C):
nome = models.CharField(u"Nome", max_length=250)
atributo_a = models.CharField(u"Atributo de A", max_length=250)
class B(C):
nome = models.CharField(u"Nome", max_length=250)
atributo_b = models.CharField(u"Atributo de B", max_length=250)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment