我有这两个型号:
class Exercise(models.Model):
text = models.TextField()
class Score(models.Model):
user = models.ForeignKey(User)
exercise = models.ForeignKey(Exercise)
score = models.IntegerField()
class Meta:
unique_together = (('user', 'exercise',),)
模板会显示用户可以完成的练习。 用户在结尾处获得得分。
我想用ajax将分数发送到数据库。
我准备了一个获得分数的视图
def scoresexo(request):
if request.method == 'POST':
ret = {'type': 'info'}
score, created = Score.objects.get_or_create(
user = request.user
, exercise_id = request.POST['exo']
)
score.score = request.POST['score']
try:
score.save()
except:
ret['type'] = 'error'
ret['msg'] = 'error saving'
return HttpResponse(json.dumps(ret), mimetype='application/json')
我应该使用隐藏的ModelForm还是手动的表单/视图?
它会是什么样的?
答案 0 :(得分:1)
为什么你需要表格?将获得/发布请求与分数和练习发送到某个视图并将结果保存在那里。
不要忘记任何人都可以使用任何数据提出请求,因此您需要考虑一些验证。