X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0543785bb9e74989036d99eb25cf23c3ef82cdf7..7cb7624d4864f0cb7ddce5b14879971ff97eb80e:/src/api/models.py diff --git a/src/api/models.py b/src/api/models.py index cc71a06f3..d2716b922 100644 --- a/src/api/models.py +++ b/src/api/models.py @@ -45,11 +45,15 @@ class BookUserData(models.Model): book = models.ForeignKey(Book) user = models.ForeignKey(User) complete = models.BooleanField(default=False) + last_changed = models.DateTimeField(auto_now=True) - def get_state(self): + @property + def state(self): return 'complete' if self.complete else 'reading' - def set_state(self, state): - self.complete = state == 'complete' - - state = property(get_state, set_state) + @classmethod + def update(cls, book, user, state): + instance, created = cls.objects.get_or_create(book=book, user=user) + instance.complete = state == 'complete' + instance.save() + return instance