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