-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodels.py
executable file
·45 lines (41 loc) · 1.76 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=75)
name_slug = models.SlugField()
def __unicode__(self):
return self.name
class Person(models.Model):
name = models.CharField(max_length=75)
name_slug = models.SlugField()
email = models.CharField(max_length=150, blank=True, null=True)
def __unicode__(self):
return self.name
class Book(models.Model):
title = models.CharField(max_length=150)
title_slug = models.SlugField()
author = models.ForeignKey(Author, blank=True, null=True)
is_loaned = models.BooleanField()
loaned_to = models.ForeignKey(Person, blank=True, null=True)
currently_reading = models.BooleanField()
have_read = models.BooleanField()
started_reading = models.DateField(blank=True, null=True)
when_finished = models.DateField(blank=True, null=True)
pages = models.IntegerField(blank=True, null=True)
bought_for = models.DecimalField(decimal_places=4, max_digits=8, blank=True, null=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/catalogue/book/%s/%s" % (self.id, self.title_slug)
class Movie(models.Model):
title = models.CharField(max_length=150)
title_slug = models.SlugField()
is_loaned = models.BooleanField()
loaned_to = models.ForeignKey(Person, blank=True, null=True)
have_watched = models.BooleanField()
when_watched = models.DateField(blank=True, null=True)
length = models.IntegerField(blank=True, null=True)
bought_for = models.DecimalField(decimal_places=4, max_digits=8, blank=True, null=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/catalogue/movie/%s/%s" % (self.id, self.title_slug)