Django 速成笔记(3)--Django models 数据库操作-增删改查-多对多关系以及一对多(外键)关系
2017-07-15 00:00
936 查看
摘要: Django 速成笔记(2)--Django models 数据库操作-增删改查-多对多关系以及一对多(外键)关系
数据库图:
然后我们用Django shell测试
求赐教:是否有直接更新多对多表的操作方法?.update()这个方法看样是不灵了。
参考文献 :https://my.oschina.net/linktime/blog/105280
django文档-模型字段-关联字段
models 文件中的配置
先看代码# coding=utf-8 from django.db import models # 文章分类页,与博客文章是多对多关系,一个博文可以属于多个分类,一个分类可以有多个博文 class Category(models.Model): c_title = models.CharField(max_length=32, default='category') def __str__(self): return self.c_title # 博客作者,与文章是一对多关系 ,一篇博文只有一个作者 class Author(models.Model): name = models.CharField('作者昵称',max_length=32) def __str__(self): return self.name # 文章 class Article(models.Model): title = models.CharField(max_length=32, default='title') createtime = models.DateTimeField(auto_now_add=True) content = models.TextField(null=True) #多对多主键,修改后数据库会生成对应的表。 category = models.ManyToManyField(Category, null=True, verbose_name='博客文章所属分类') #一对一外键 author = models.ForeignKey(Author, null=True, verbose_name='博客文章作者') def __str__(self): return self.title
数据库图:
然后我们用Django shell测试
>>> python3 manage.py shell #启动shell >>> from blog.models import Category, Author, Article #导入models模块,如果没有提示错误就是正常导入了 >>> Author.objects.create(name='J_sky') <Author: Author object> >>> Category.objects.create(c_title='one') <Category: one> >>> Category.objects.create(c_title='two') <Category: two> #创建多对多数据的两种方法 >>> a2 = Article.objects.create(title='bbbbbb',content='mmmmmmmmm',author=au) >>> a2.category.add(c1) >>> a3 = Article(title='cccccc',content='iiiiiiiiii',author=au) >>> a3.save() >>> a3.category.add(c1) #查询 >>> au.article_set.all() <QuerySet [<Article: aaaaaa>, <Article: bbbbbb>, <Article: cccccc>]> >>> c1.article_set.all() <QuerySet [<Article: aaaaaa>, <Article: bbbbbb>, <Article: cccccc>]> >>> a3.author <Author: J_sky> >>> a3.category.get() <Category: one> #删除多对多关联,并重新添加关联 a3.category.remove(c1) a3.category.add(c2)
求赐教:是否有直接更新多对多表的操作方法?.update()这个方法看样是不灵了。
参考文献 :https://my.oschina.net/linktime/blog/105280
django文档-模型字段-关联字段
相关文章推荐
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- 数据库操作-增删改查-多对多关系以及一对多(外键)关系
- 13.Django之数据库models&orm连表操作补充以及其他知识点补充(二)
- Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
- Python 脚本学习笔记(五)集中式病毒扫描,端口扫描以及分段数据库操作
- Django-Model操作数据库(增删改查、连表结构)
- Django-Model操作数据库(增删改查、连表结构)
- django数据库基本操作-增删改查(tip)-基本
- Django-Model操作数据库(增删改查、连表结构)
- django models进行数据库增删查改
- mybatis对象之间映射关系以及数据库表建立的时候外键的添加
- .NET连接数据库以及基本的增删改查操作教程
- Django使用Python操作数据库 --Django 1.8.2 文档(中文)部分笔记
- Django数据库操作笔记
- 关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项