Fixed some ORM bugs
This commit is contained in:
parent
dec147f0ff
commit
f7ff31f742
@ -82,14 +82,14 @@ class CompleteLevel(CSRFexemptTemplateView):
|
||||
level=level).first()
|
||||
if prevScore is None \
|
||||
or pops > prevScore.pops \
|
||||
or pops == prevScore.pops and darts_left > prevScore.darts_left:
|
||||
or pops == prevScore.pops and darts_left + int(dart_glitch) > prevScore.darts_left:
|
||||
score = LevelScore.objects.create(level=level,
|
||||
clear=True,
|
||||
darts_left=darts_left,
|
||||
clear=True,
|
||||
darts_left=darts_left,
|
||||
dart_glitch=dart_glitch,
|
||||
pops=pops)
|
||||
pops=pops)
|
||||
if prevScore:
|
||||
player.bloonsa_level_scores.remove(prevScore)
|
||||
prevScore.delete()
|
||||
|
||||
player.bloonsa_level_scores.add(score)
|
||||
score.save()
|
||||
|
||||
@ -59,7 +59,7 @@ class LevelRating(models.Model):
|
||||
# There should only be 1 score per player
|
||||
# Highest popcount wins
|
||||
class LevelScore(models.Model):
|
||||
player = models.ForeignKey(Player, on_delete=models.CASCADE, related_name="bloonsa_level_scores")
|
||||
player = models.ForeignKey(Player, on_delete=models.CASCADE, related_name="bloonsa_level_scores", null=True)
|
||||
level = models.ForeignKey(Level, on_delete=models.CASCADE)
|
||||
clear = models.BooleanField(default=True) # This is for if we ever submit scores for failed attempts
|
||||
darts_left = models.PositiveSmallIntegerField()
|
||||
|
||||
@ -4,3 +4,4 @@ from django.contrib.auth.admin import UserAdmin
|
||||
from .models import Player, Log
|
||||
|
||||
admin.site.register(Log)
|
||||
admin.site.register(Player)
|
||||
Loading…
Reference in New Issue
Block a user