I have this model layout:
class Game(models.Model):
game_time = models.DateTimeField(db_index=True)
home_team = models.ForeignKey(Team, related_name="home_games")
away_team = models.ForeignKey(Team, related_name="away_games")
home_score = models.IntegerField(null=True, blank=True)
away_score = models.IntegerField(null=True, blank=True)
spread = models.FloatField(null=True, blank=True, help_text="With respect to the home team")
predictions = models.ManyToManyField(User, through="Prediction")
class Prediction(models.Model):
user = models.ForeignKey(User)
game = models.ForeignKey(Game)
prediction = models.BooleanField(help_text="With respect to the home team")
I want users to be able to log in, and see all the games within a 'week', thus, my first thought was to use a formset. However, when the form is saved, I need to be able to inject the logged in user into the Prediction.
I'm not sure if I should be using a formset, or a custom set of rules and just parse out the form information myself.
The biggest problem I had with model formset was it wasn't able to determine if the record existed or not, and adapt automatically.