1、vim blog/models.py

class   Author(models.Model):

    name = models.CharField(max_length=30)

    def unicode(self):

        return self.name

class Book(models.Model):

    name = models.CharField(max_length=30)

    authors = models.ManyToMany(Author)

  def unicode(self):

    return self.name

2、python manage.py syncdb

sqlite3  cs.db

.tables;

3、python manage.py   shell

from blog.models import Author,Book

Author.objects.create(name='a1')
Author.objects.create(name='a2')

authors = Author.objects.all()

>>> authors
[<Author: a1>, <Author: a2>]
>>> b1 = Book()
>>> b1.name='book1'
>>> b1.save()
>>> b1
<Book: book1>

a1 = Author.objects.get(name__exact='a1')

b1.authors.add(a1)

b1.authors.all()

b1.authors.remove(a1)

b1.authors.all()

b1.authors.filter(name__exact='a1')   做一个过滤

a1.book_set.add(b1)

a1.book_set.create(name='book2')

a1.book_set.all()

books = Book.objects.all()

books

a1.book_set.remove(books[0])   0是下标,表示把第一个删除

a1.book_set.all()

django 学习-10 Django多对多关系模型的更多相关文章

  1. django学习-10.django连接mysql数据库和创建数据表

    1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...

  2. Django 一对多,多对多关系解析

    [转]Django 一对多,多对多关系解析   Django 的 ORM 有多种关系:一对一,多对一,多对多. 各自定义的方式为 :        一对一: OneToOneField         ...

  3. Django的Many-to-Many(多对多)模型

      Django的Many-to-Many(多对多)模型 日期:2012-05-05 |  来源:未知 |  作者:redice |  人围观 |  1 人鼓掌了! 鲲鹏Web数据抓取 - 专业Web ...

  4. Django学习之django自带的contentType表 GenericRelation GenericForeignKey

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  5. day 94 Django学习之django自带的contentType表

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  6. day 93 Django学习之django自带的contentType表

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  7. day 91 Django学习之django自带的contentType表

      Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net ...

  8. Django学习之django自带的contentType表

    Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aar ...

  9. Django学习笔记之数据库-数据库与模型

    MySQL数据库 在网站开发中,数据库是网站的重要组成部分.只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面.数据库有很多,比如有SQL Server.Oracle.Postgr ...

随机推荐

  1. 令人惊奇的gdb和pstack

    pstack竟然是一个shell脚本,核心是调用gdb的thread apply all bt查看进程的所有线程的堆栈,之后用sed正则展示线程堆栈信息. /proc/pid/exe是一个指向可执行文 ...

  2. ags模版与vs

    esri为每个版本的sdk指定了特定的vs开发版本,比如ags10.0,ags10.1指定的是vs2008和vs2010,大概是因为发布时间的关系. 无论如何,我们可以将模版移植到新的vs下.(注意红 ...

  3. Oracle-11g-R2 于 Linux 上的 RAC 卸载

    安装环境: SuSE Linux Enterprise Server 11 SP3 Oracle 11g 11.2.0.3   卸载步骤: 1.卸载 Database 软件(oracle,第一节点) ...

  4. Hibernate映射解析——七种映射关系

    首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对 ...

  5. stm32的DFU使用方法

    stm32的dfu看上去是个很高级的东西,似乎可以通过USB给内部flash.外部spi flash.外部nor等东西刷写数据.把数据读出来,但是用了一下感觉确实有点麻烦. 先不管原理是怎样的,使用方 ...

  6. BZOJ 4236: JOIOJI MAP

    4236: JOIOJI Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.ph ...

  7. DWRUtil is not defined

    错误:DWRUtil is not defined; 解决方法: 先检查页面中是否正确引入uitl.js <script type="text/javascript" src ...

  8. Swift 3.0 的 open,public,internal,fileprivate,private 关键字

      import Foundation   /// final的含义保持不变 public final class FinalClass { }   // 这个类在ModuleA的范围外是不能被继承的 ...

  9. Android中Activity启动模式详解

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...

  10. javascript操作

    1. >> 按位右移运算符 result = expression1 >> expression2 右移表达式的位,保持符号不变. >> 运算符将 expressi ...