sql - How can I model the following scenario using a single primary key instead of a compound primary key? -
suppose modelling athletics event. primary key date, track , race_no.
class event(models.model): date = models.datefield() race_no = models.integerfield() track = models.charfield(max_length = 4) temperature = models.integerfield() class race(models.model): date = models.datefield() race_no = models.integerfield() track = models.charfield(max_length = 4) athlete_id = models.foreignkey(athlete) finishing_pos = models.integerfield()
now suppose wish provide form users particular event. input date, race_no , track. in results wish provide event results along temperature. trivial sql joins. django @ moment not have lot of support compound keys. how can model use case single auto incrementing primary key, more django friendly.
use unique_together
. way can have incrementing ids on when put form unique key.
you define unique_together
in class' meta class.
class race(models.model): date = models.datefield() race_no = models.integerfield() track = models.charfield(max_length = 4) athlete_id = models.foreignkey(athlete) finishing_pos = models.integerfield() class meta: unique_together = ("date", "race_no", "track")
Comments
Post a Comment