from django.db import models from django.contrib import admin class Room(models.Model): name = models.CharField(max_length=30) def __unicode__(self): return self.name admin.site.register(Room) # A bed is one of several types of beds class Bed_type(models.Model): type = models.CharField(max_length=30) def __unicode__(self): return self.type admin.site.register(Bed_type) class Bed(models.Model): room = models.ForeignKey(Room) type = models.ForeignKey(Bed_type) number = models.IntegerField() def __unicode__(self): return str(self.number) class BedAdmin(admin.ModelAdmin): list_filter = ('type', 'room', ) admin.site.register(Bed, BedAdmin) class Guest(models.Model): first_name = models.CharField("Fornavn", max_length=30) last_name = models.CharField("Etternavn", max_length=30) def __unicode__(self): return self.first_name + ' ' + self.last_name admin.site.register(Guest) # A booking can be one or more days, registered to a guest and with one or more beds class Booking(models.Model): bed = models.ForeignKey(Bed) guest = models.ForeignKey(Guest) start_date = models.DateField("Fra dato") end_date = models.DateField("Til dato") paid = models.BooleanField("Betalt") def __unicode__(self): return str(self.guest) class BookingAdmin(admin.ModelAdmin): list_display = ('guest', 'bed__room', ) list_filter = ('bed', 'guest', 'paid', ) admin.site.register(Booking, BookingAdmin)