Ada*_*amW 0 django django-forms
我正在学习django时建立一个足球预测应用程序,并有以下模型:
class Team(models.Model):
Name = models.CharField(max_length=30)
class Fixture(models.Model):
HomeTeam = models.ForeignKey(Team, related_name='HomeTeamRef')
AwayTeam = models.ForeignKey(Team, related_name='AwayTeamRef')
HomeTeamScore = models.IntegerField(null=True, blank=True)
AwayTeamScore = models.IntegerField(null=True, blank=True)
Date = models.DateField()
class Player(models.Model):
User = models.ForeignKey(User)
DefaultHomeScore = models.IntegerField()
DefaultAwayScore = models.IntegerField()
class Prediction(models.Model):
Fixture = models.ForeignKey(Fixture)
HomeTeamScore = models.IntegerField()
AwayTeamScore = models.IntegerField()
Date = models.DateTimeField()
Player = models.ForeignKey(Player)
Run Code Online (Sandbox Code Playgroud)
我已经填充了许多夹具对象,并且已经使用基于预测模型的模型表单集来渲染允许用户输入分数的视图.
问题是他们必须选择预测所涉及的固定装置.我想预先填充这个,以便他们得到一个灯具列表,然后进入hometeamscore和awayteamscore.这包括预先设置Prediction.Fixture字段和Prediction.Player字段,但我不确定如何解决这个问题?
任何帮助深表感谢.
编辑:问题似乎是如何将Fixture的多个实例传递到预测模型formset中,我已经看到了传递一个但是想一次性完成所有这些的示例.我还希望用户能够为每个夹具进行一次预测.
我认为这就是你要找的东西:https: //docs.djangoproject.com/en/1.7/topics/forms/formsets/#using-initial-data-with-a-formset
您的代码看起来像这样:
initial_data = []
for fixture in fixtures:
initial_data.append({'Player':player,'Fixture':fixture})
formset = MyPredictionFormset(initial=initial_data)
Run Code Online (Sandbox Code Playgroud)
PS不要迂腐,但你的字段名称不符合PEP 8.它们应该是带有下划线的小写,但这是你的电话.(http://www.python.org/dev/peps/pep-0008/)
| 归档时间: |
|
| 查看次数: |
2657 次 |
| 最近记录: |