图书管理
书籍管理
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()