why does model.diff return 18446744073709551615 in template, when model is like this and model.pos is 0 and model.neg is 1?:
class Kaart(models.Model):
neg = models.PositiveIntegerField(default=0)
pos = models.PositiveIntegerField(default=0)
def diff(self):
return self.pos - self.neg
You’re getting underflow, where
self.pos - self.negshould give-1, but you have a positive field, so it wraps around and you get0 - 1 = 18446744073709551615, the largest positive number representable by PositiveIntegerField.For your reference,
18446744073709551615 = 2**64 - 1, which means that PositiveIntegerField stores 64-bit values.