ok - lets have setup have set of people , set of skills , set of levels.
each skill has subset of levels associated - different subset possible each skill. each person can perform subset of skills @ subset of levels. each skill person offers particular level has price associated it.
e.g. person can skills karate , creative writing. offers karate @ black belt level £40 , red belt level £30 , creative writing @ beginner level £25.
here how have setup without level.
class person(models.model): ... skills = models.manytomanyfield(skill, through='skilloffered') class skill(models.model): ... class skilloffered(models.model): person = models.foreignkey(person) skill = models.foreignkey(skill) price = models.demicalfield(max_digits=6, decimal_places=2) but how can include level? can add foreign key level through model skill offered. there way viewed in admin able edit list of skills , levels person offers person admin page?
you should create level class linked skill class m2m relation. , replace skill attribute in skilloffered skill_level attribute.
class person(models.model): ... class skill(models.model): ... levels = models.manytomanyfield(levels, through='skilllevels') class level(models.model): ... class skilllevels (models.model): skill = models.foreignkey(skill) level = models.foreignkey(level) class skilloffered(models.model): person = models.foreignkey(person) skill_level = models.foreignkey(skilllevels) price = models.demicalfield(max_digits=6, decimal_places=2)
Comments
Post a Comment