Django图书管理系统(前端对有外键的数据表增删改查)

图书管理

书籍管理

book

name

1、环境准备

 

class Book(models.Model):
    title = models.CharField(max_length=32)
    pub = models.ForeignKey('Publisher', on_delete=models.CASCADE)

on_delete 在django2.0 版本之后是必填的参数 1.11 之前的可以不填

on_delete 的参数 models.CASCADE models.SET() models.SET_DEFAULT models.SET_NULL

下载bootstrap

引入到之前的网页:

将下面的网页

使用下面的模板 https://v3.bootcss.com/examples/dashboard/

2、查询

all_books = models.Book.objects.all()
​
for book in all_books:
​
    print(book.title)
    print(book.pub,type(book.pub))   #  ——> 所关联的出版社对象
    print(book.pub.pk)  #  查id 多一次查询
    print(book.pub_id)  # 直接在book表中查出的ID
    print(book.pub.name)
    print("*"*32)

3、新增

models.Book.objects.create(title=book_name,pub=出版社的对象)
models.Book.objects.create(title=book_name,pub_id=pub_id)

4、删除

pk = request.GET.get('id')
models.Book.objects.filter(pk=pk).delete()

5、编辑

{% if book_obj.pub == publisher %}
    <option selected value="{{ publisher.pk }}"> {{ publisher.name }} </option>
{% else %}
    <option  value="{{ publisher.pk }}"> {{ publisher.name }} </option>
{% endif %}
6、修改数据
book_obj.title = book_name
# book_obj.pub_id = pub_id
book_obj.pub = models.Publisher.objects.get(pk=pub_id)
book_obj.save()
 

 

猜你喜欢

转载自www.cnblogs.com/machangwei-8/p/11023394.html