segnalibre-backend/segnalibre_app/models.py

26 lines
905 B
Python
Raw Normal View History

2019-11-23 01:36:02 +01:00
from django.db import models
2019-11-29 00:15:59 +01:00
from computedfields.models import ComputedFieldsModel, computed
2019-11-23 01:36:02 +01:00
# Create your models here.
2019-11-29 00:15:59 +01:00
class Book(ComputedFieldsModel):
2019-11-23 01:36:02 +01:00
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
2019-11-23 13:59:11 +01:00
cover_url = models.URLField(null=True)
2019-11-23 01:36:02 +01:00
publisher = models.CharField(max_length=100)
pub_date = models.DateField()
pages = models.IntegerField()
position = models.IntegerField(default=0)
owner = models.ForeignKey('auth.User', related_name='books', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def _str_(self):
return self.title
2019-11-29 00:15:59 +01:00
@computed(models.CharField(max_length=32, default='uncompleted'))
def status(self):
if self.position == self.pages:
return 'completed'
else:
return 'uncompleted'