Satt opp web.library.models med en halvsakelig databasekonfigurasjon
This commit is contained in:
parent
2f872e99bf
commit
31f41575df
8
db.txt
8
db.txt
|
@ -1,6 +1,6 @@
|
|||
Tabeller:
|
||||
|
||||
bok (primærnøkkel: (isbn,id))
|
||||
bok (primærnøkkel: (isbn))
|
||||
isbn
|
||||
id (tekst)
|
||||
tittel
|
||||
|
@ -20,11 +20,11 @@ bokserie
|
|||
tittel
|
||||
|
||||
alternativ_tittel
|
||||
bok (isbn, id)
|
||||
bok (isbn)
|
||||
alt_tittel
|
||||
|
||||
eksemplar
|
||||
bok (isbn, id)
|
||||
bok (isbn)
|
||||
nummer
|
||||
eier («PVV» eller brukernavn)
|
||||
|
||||
|
@ -34,7 +34,7 @@ person
|
|||
fornavn
|
||||
|
||||
bokperson
|
||||
bok (isbn, id)
|
||||
bok (isbn)
|
||||
person (id)
|
||||
relasjon (forfatter, redaktør, etc)
|
||||
|
||||
|
|
|
@ -1,22 +1,27 @@
|
|||
from django.db import models
|
||||
|
||||
class Book(models.Model):
|
||||
isbn = models.CharField(max_length=13)
|
||||
# id = models.CharField(max_length=255, unique=True)
|
||||
title = models.CharField(max_length=511)
|
||||
subtitle = models.CharField(max_length=511)
|
||||
# category =
|
||||
publisher = models.CharField(max_length=255)
|
||||
published_year = models.IntegerField()
|
||||
edition = models.IntegerField()
|
||||
num_pages = models.IntegerField()
|
||||
# series =
|
||||
description = models.CharField(max_length=1023)
|
||||
picture = models.ImageField('%Y/%m/%d/pictures')
|
||||
thumbnail = models.ImageField('%Y/%m/%d/thumbnails')
|
||||
class Category(models.Model):
|
||||
id = models.CharField(max_length=255, primary_key=True)
|
||||
name = models.CharField(max_length=255)
|
||||
|
||||
class BookSeries(models.Model):
|
||||
title = models.CharField(max_length=500)
|
||||
id = models.CharField(max_length=20, primary_key=True)
|
||||
title = models.CharField(max_length=511)
|
||||
|
||||
class Book(models.Model):
|
||||
isbn = models.CharField(max_length=13, primary_key=True)
|
||||
id = models.CharField(max_length=255, unique=True)
|
||||
title = models.CharField(max_length=511)
|
||||
subtitle = models.CharField(max_length=511, null=True, blank=True)
|
||||
category = models.ForeignKey(Category)
|
||||
publisher = models.CharField(max_length=255, null=True, blank=True)
|
||||
published_year = models.IntegerField(null=True, blank=True)
|
||||
edition = models.IntegerField(null=True, blank=True)
|
||||
num_pages = models.IntegerField(null=True, blank=True)
|
||||
series = models.ForeignKey(BookSeries, null=True, blank=True)
|
||||
description = models.CharField(max_length=1023, null=True, blank=True)
|
||||
picture = models.ImageField(upload_to='%Y/%m/%d/pictures', null=True, blank=True)
|
||||
thumbnail = models.ImageField(upload_to='%Y/%m/%d/thumbnails', null=True, blank=True)
|
||||
|
||||
class AlternativeTitle(models.Model):
|
||||
book = models.ForeignKey(Book)
|
||||
|
@ -25,17 +30,28 @@ class AlternativeTitle(models.Model):
|
|||
class Copy(models.Model):
|
||||
book = models.ForeignKey(Book)
|
||||
number = models.IntegerField()
|
||||
owner = models.CharField(max_length=255)
|
||||
owner = models.CharField(max_length=9)
|
||||
|
||||
class Person(models.Model):
|
||||
id = models.CharField(max_length=255, primary_key=True)
|
||||
first_name = models.CharField(max_length=255)
|
||||
last_name = models.CharField(max_length=255)
|
||||
|
||||
class Relation(models.Model):
|
||||
name = models.CharField(max_length=31)
|
||||
|
||||
class BookPerson(models.Model):
|
||||
book = models.ForeignKey(Book)
|
||||
person = models.ForeignKey(Person)
|
||||
relation = models.CharField(max_length=255)
|
||||
relation = models.ForeignKey(Relation)
|
||||
|
||||
class ReferenceType(models.Model):
|
||||
name = models.CharField(max_length=31)
|
||||
|
||||
class Reference(models.Model):
|
||||
reference_type = models.CharField(max_length=255)
|
||||
reference_type = models.ForeignKey(ReferenceType)
|
||||
text = models.CharField(max_length=1023)
|
||||
|
||||
class Placement(models.Model):
|
||||
category = models.ForeignKey(Category)
|
||||
shelf = models.CharField(max_length=10)
|
||||
|
|
|
@ -9,11 +9,11 @@ ADMINS = (
|
|||
|
||||
MANAGERS = ADMINS
|
||||
|
||||
DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
|
||||
DATABASE_NAME = 'web/test_database' # Or path to database file if using sqlite3.
|
||||
DATABASE_USER = '' # Not used with sqlite3.
|
||||
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
||||
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
|
||||
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
|
||||
DATABASE_NAME = 'oysteini_pbb' # Or path to database file if using sqlite3.
|
||||
DATABASE_USER = 'oysteini_pbb' # Not used with sqlite3.
|
||||
DATABASE_PASSWORD = 'lio5Aide' # Not used with sqlite3.
|
||||
DATABASE_HOST = 'postgres.pvv.ntnu.no' # Set to empty string for localhost. Not used with sqlite3.
|
||||
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
|
||||
|
||||
# Local time zone for this installation. Choices can be found here:
|
||||
|
|
Reference in New Issue