Commit a31f81e3 authored by Tanya's avatar Tanya

Implemented Author and Book models and created admin panel of app bookshelf

parent 525af4a4
from django.contrib import admin from django.contrib import admin
from .models import Author, Book
# Register your models here. class AuthorAdmin(admin.ModelAdmin):
model = Author
list_display = ("first_name","last_name","age","nationality","bio")
search_fields = ("first_name","last_name")
list_filter = ("first_name","last_name","nationality")
class BookAdmin(admin.ModelAdmin):
model = Book
list_display = ("title","author","publisher","year_published","ISBN","blurb")
search_fields = ("title","author","publisher","year_published","ISBN")
list_filter = ("author","publisher","year_published")
admin.site.register(Author, AuthorAdmin)
admin.site.register(Book, BookAdmin)
\ No newline at end of file
# Generated by Django 4.1.7 on 2023-03-28 13:53
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Author',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(default='', max_length=100)),
('last_name', models.CharField(default='', max_length=100)),
('age', models.PositiveIntegerField()),
('nationality', models.CharField(default='', max_length=100)),
('bio', models.TextField(default='', max_length=700)),
],
),
migrations.CreateModel(
name='Book',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(default='', max_length=100)),
('publisher', models.CharField(default='', max_length=100)),
('year_published', models.PositiveIntegerField(validators=[django.core.validators.MaxValueValidator(2023)])),
('ISBN', models.PositiveIntegerField(unique=True, validators=[django.core.validators.MaxValueValidator(9999999999999), django.core.validators.MinValueValidator(1000000000000)])),
('blurb', models.TextField(default='', max_length=200, validators=[django.core.validators.MinLengthValidator(100)])),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bookshelf.author')),
],
),
]
from django.db import models from django.db import models
from django.core.validators import MinValueValidator,MaxValueValidator,MinLengthValidator
# Create your models here. class Author(models.Model):
first_name = models.CharField(max_length=100,default="")
last_name = models.CharField(max_length=100,default="")
age = models.PositiveIntegerField()
nationality = models.CharField(max_length=100,default="")
bio = models.TextField(max_length=700,default="")
def __str__(self):
return '{}'.format(self.title)
class Book(models.Model):
title = models.CharField(max_length=100,default="")
author = models.ForeignKey(Author,on_delete=models.CASCADE)
publisher = models.CharField(max_length=100,default="")
year_published = models.PositiveIntegerField(validators=[MaxValueValidator(2023)])
ISBN = models.PositiveIntegerField(unique=True,validators=[MaxValueValidator(9999999999999),MinValueValidator(1000000000000)])
blurb = models.TextField(validators=[MinLengthValidator(100)],max_length=200,default="")
def __str__(self):
return '{}'.format(self.body)
\ No newline at end of file
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