django-11 db Many--to--Many 的使用讲解

 

  
  
  
  
  1. django  db Many--to--Many 的使用讲解  
  2. 1.创建工程project   django-admin.py startproject  d  
  3. 2.创建应用app       django-admin.py startapp  dd  
  4. 3.修改setting.py  
  5.       修改数据库配置,添加应用app比如admin,自己创建的app,  
  6.          
  7. 4.修改app的models.py  
  8.   添加测试用的  
  9. class Author(models.Model):  
  10.         name=models.CharFiled(max_length=30)  
  11.  
  12.         def __unicode__(self):  
  13.                 return self.name  
  14.  
  15. class Book(models,Model):  
  16.         name=models.CharFiled(max_length=30)  
  17.         authors=models.ManyToManyField(Author)  
  18.  
  19.         def __unicode__(self):  
  20.                 return  self.name  
  21. 5.python manage.py syncdb   
  22. 以上创建了models  
  23. 6.进入python  shell  
  24. python manage.py shell  
  25. 执行  
  26. >>> import rlcompleter, readline  
  27. >>> readline.parse_and_bind('tab: complete')  
  28. >>> from  dd.models  import  Author,Book  
  29. >>> Author.objects.create(name="Alen")      ## 先创建1个作者  
  30. >>> Author.objects.create(name="Ben")  
  31. >>> Author.objects.create(name="Cart")  
  32. >>> Author.objects.create(name="Dev")   
  33. 先创建4个用户  
  34. 查看创建的作者  
  35. >>>print Author.objects.all()  
  36. 创建1本书  
  37. >>> b1=Book()  
  38. >>> b1.name='python  book1' 
  39. >>> b1.save()  
  40. 获取作者  
  41. >>>alen=Author.objects.get(name__exact='Alen')  
  42. >>>d=Author.objects.get(name__exact='Dev')  
  43. 给书增加作者  
  44. >>>b1.authors.add(alen)  
  45. >>> b1.authors.add(d)  
  46. 查看B1这本书的作者  
  47. >>> b1.authors.all()  
  48. [<Author: Alen><Author: Dev>]  
  49. 删除书的其中1个作者  
  50. >>> b1.authors.remove(alen)  
  51. >>> b1.authors.all()  
  52. 通过manytomany 通过作者添加书  
  53. >>>alen.book_set.add(b1)  
  54. >>>alen.book_set.create(name='python book2')  
  55. >>> books=Book.objects.all()  
  56. >>> books  
  57. [<Book: python  book1><Book: python book2>]  
  58. >>> alen.book_set.remove(books[0])  
  59. >>> alen.book_set.all()  
  60. [<Book: python book2>]  
  61. ####################################以上就是例子中的ManytoMany操作######################################  
  62. 1.通过作者添加多本书  
  63. 2.通过书来添加多个作者  

 

你可能感兴趣的:(django,python,使用讲解)