Django: parametrizing db_table for inheritance -
i want set db_table meta class attribute in base class inherited classes have names in it, similar how django treats related_name model field attribute:
class basemodel(models.model):     class meta:         db_table = 'prefix_%(class)s' so inherited model:
class submodel(basemodel):     pass will have db table prefix_submodel.
is possible? can meta class access inheriting class' model name?
no. can't that. not simple have same table store multiple classes.
what need djeneralize project.
from examples:
class fruit(basegeneralizedmodel):    name = models.charfield(max_length=30)     def __unicode__(self):        return self.name  class apple(fruit):    radius = models.integerfield()     class meta:        specialization = 'apple'  class banana(fruit):    curvature = models.decimalfield(max_digits=3, decimal_places=2)     class meta:        specialization = 'banana'  class clementine(fruit):    pips = models.booleanfield(default=true)     class meta:        specialization = 'clementine'  allows following queries executed:  >>> fruit.objects.all() # we've got @ moment [<fruit: rosy apple>, <fruit: bendy banana>, <fruit: sweet clementine>] >>> fruit.specializations.all() # new stuff! [<apple: rosy apple>, <banana: bendy banana>, <clementine: sweet clementine>] 
Comments
Post a Comment