booktest-2

1.增加HeroInfo类 

from django.db import models

# Create your models here.

class BookInfo(models.Model):
    btitle=models.CharField(max_length=20)
    bpub_date=models.DateField()


class HeroInfo(models.Model):
    hname=models.CharField(max_length=20)
    hgender=models.BooleanField(default=False)
    hcomment=models.CharField(max_length=128)
    hbook=models.ForeignKey('BookInfo',on_delete=models.CASCADE)

2.执行数据库迁移

3.在项目的终端中输入下面的命令保存数据到BookInfo表中

4.在数据库中添加一条HeroInfo记录,注意关系属性hbook的值应该设置为BookInfo对象

在sqlitestudio中可以看到该条记录,并且hbook_id为对应的BookInfo对象Id

5.再添加一条HeroInfo记录

6.通过下面的命令可以查询HeroInfo的记录,并且可以查询到对应的BookInfo的记录(多查一)

7.从BookInfo查询HeroInfo(一查多)

8.后台管理本地化,修改项目目录下的settings.py,使语言显示中文,时区改为亚洲上海

9.创建超级管理员

10.启动服务器

 

11.在浏览器中输入http://127.0.0.1:8000/admin,回车,显示后台登陆界面,输入刚才创建的管理员用户名和密码,即可登陆后台管理系统

12.在booktest下的admin.py里面注册后台管理模型

from django.contrib import admin
from .models import BookInfo
# Register your models here.


admin.site.register(BookInfo)

 13.刷新浏览器的后台,就会出现app管理栏目

14 点开Book Infos则会显示bookinfo数据库中的所有数据

15.界面上显示的是对象的字符串形式,在BookInfo类中重写__str__()方法,刷新上面的页面则显示btitle

class BookInfo(models.Model):
    btitle=models.CharField(max_length=20)
    bpub_date=models.DateField()

    def __str__(self):
        return  self.btitle

 

16.点击右上角的增加Book info按钮 输入书名和出版日期,点保存即可以保存到数据库

 

17.点开其中一条可以看到具体内容,可以修改内容

 

18.在上页中点击删除或者在图书列表界面,勾选一本图书后,点开动作下拉框,选择删除,然后点击执行,则显示删除确认界面

 

 

点击yes就会从数据库中删除图书

 

19,在admin.py里面注册HeroInfo

from django.contrib import admin
from .models import BookInfo,HeroInfo
# Register your models here.


admin.site.register(BookInfo)
admin.site.register(HeroInfo)

 刷新后台首页,则显示HeroInfo消息

20.在HeroInfo模型类中重写__str__()

class HeroInfo(models.Model):
    hname=models.CharField(max_length=20)
    hgender=models.BooleanField(default=False)
    hcomment=models.CharField(max_length=128)
    hbook=models.ForeignKey('BookInfo',on_delete=models.CASCADE)
    def __str__(self):
        return self.hname

刷新后台Heroinfo列表信息,显示英雄名字

21.点击增加HeroInfo按钮,输入信息,注意布尔值在界面上显示复选框,Hbook会自动加载所有的图书名字,点保存即可以增加成功

 

 

22.在admin.py里面增加图书模型管理类,并在注册模型类方法中指定该管理类

from django.contrib import admin
from .models import BookInfo,HeroInfo
# Register your models here.

class BookInoAdmin(admin.ModelAdmin):
    list_display = ['id','btitle','bpub_date']

admin.site.register(BookInfo,BookInoAdmin)
admin.site.register(HeroInfo)

23.回到后台管理图书列表,则会看到各属性的内容

24.同理修改Heroinfo列表显示

from django.contrib import admin
from .models import BookInfo,HeroInfo
# Register your models here.

class BookInoAdmin(admin.ModelAdmin):
    list_display = ['id','btitle','bpub_date']

class HeroInfoAdmin(admin.ModelAdmin):
    list_display = ['id','hname','hcomment']

admin.site.register(BookInfo,BookInoAdmin)
admin.site.register(HeroInfo,HeroInfoAdmin)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值