Commit 6d153fd0 authored by Julia Anishka's avatar Julia Anishka

added books model

parent 334b87f1
from django.db import models from django.db import models
from datetime import datetime
from django.core.validators import MaxValueValidator, MinValueValidator
from django.core.exceptions import ValidationError
class Author(models.Model): class Author(models.Model):
first_name = models.CharField(max_length = 50) first_name = models.CharField(max_length = 50)
...@@ -6,3 +9,21 @@ class Author(models.Model): ...@@ -6,3 +9,21 @@ class Author(models.Model):
age = models.IntegerField(default = 0) age = models.IntegerField(default = 0)
nationality = models.CharField(max_length = 50) nationality = models.CharField(max_length = 50)
bio = models.TextField(max_length = 700) bio = models.TextField(max_length = 700)
def require_int(value):
if value.isdigit() == False:
raise ValidationError('ISBN must only be integers.')
class Books(models.Model):
title = models.CharField(max_length = 70)
author = models.ForeignKey(Author, on_delete = models.CASCADE)
publisher = models.CharField(max_length = 70)
year_published = models.IntegerField(null = True,
validators=[MinValueValidator(1400), MaxValueValidator(datetime.now().year)]
)
ISBN = models.CharField(max_length = 13, validators = [MinValueValidator(13), require_int])
blurb = models.CharField(min_length = 100, max_length = 200)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment