首页 > 解决方案 > Django以相同的形式保存多个数据 - 不同用户的不同数据

问题描述

现在我有一个叫做Score的模型,它的forms.py如下,我想为不同的用户创建一次不同的分数,现在我只能为一个用户一个一个地创建一个分数,我需要创建很多次,是有一种简单的方法可以为用户创建一次分数吗?非常感谢您的任何建议。

class Score(models.Model):
    test = models.ForeignKey(Test, null=True, blank=True, on_delete=models.CASCADE)
    user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
    score = models.FloatField(default=0,)
    pass_score = models.FloatField(default=0,)

class ScoreForm(forms.ModelForm):
    class Meta:
        model = TestScore
        fields = ('test', 'user', 'score', 'pass_score')

标签: pythonpython-3.xdjango-formsmultiple-databasescreate-view

解决方案


如果你想要的是点击网址/all_users/test1/

并得到一组表格(每一行都是一个表格),如下所示:

|user|test1 score |
| u1 | 80%        |
| u2 | 72%        |
| u3 | __         |

那么你想要的是一个formset,或者更接近你正在做的事情,一个modelFormset


推荐阅读