django+python+操作数据库多表关联-增删改查-many-to-many-many-to-one
2014-03-18 15:58
288 查看
class Author(models.Model):
age=models.IntegerField(max_length=5
sex=models.CharField(max_length=4)
class Book(models.Model):
title =models.CharField(max_length=20)
authors=models.ManyToManyField(Author)
author=Author()
book=Book()
author.name='zhangsan'
author.age=12
author.sex='男'
book.title='三国演义'
book.save()
author.save()
author1=Author()
author1.name='lisi'
author1.age=32
author1.sex='女'
author1.save()
book.authors.add(author)
book.authors.add(author1)
Author.objects.create(name='wangwu',age=33,sex='女')
name=models.CharField(max_length=10)
age=models.IntegerField(max_length=5)
class Books(models.Model):
person=models.ForeignKey(Person,related_name='person_book')
#pubtime=models.DateField()
title=models.CharField(max_length=15)
def index(req):
print '222'
person1 =Person()
person1.age=12
person1.name='李四'
person1.save()
book1=Books()
book1.title='三国演义'
book1.person=person1
book1.save()
book2=Books()
book2.title='三国演义'
book2.person=person1
book2.save()
取出对象:
b = Book.objects.get(id=50)
b.authors.all()
b.authors.filter(first_name='Adam')
从作者出发获取书籍
a = Author.objects.get(id=1)
a.book_set.all()
删除对象
a = Author.objects.get(id=1)
b = Book.objects.get(id=50)
b.authors.remove(a) 或者 b.authors.filter(id=1).delete()
manytomany
name=models.CharField(max_length=10)age=models.IntegerField(max_length=5
sex=models.CharField(max_length=4)
class Book(models.Model):
title =models.CharField(max_length=20)
authors=models.ManyToManyField(Author)
author=Author()
book=Book()
author.name='zhangsan'
author.age=12
author.sex='男'
book.title='三国演义'
book.save()
author.save()
author1=Author()
author1.name='lisi'
author1.age=32
author1.sex='女'
author1.save()
book.authors.add(author)
book.authors.add(author1)
Author.objects.create(name='wangwu',age=33,sex='女')
many-to-one
class Person (models.Model):name=models.CharField(max_length=10)
age=models.IntegerField(max_length=5)
class Books(models.Model):
person=models.ForeignKey(Person,related_name='person_book')
#pubtime=models.DateField()
title=models.CharField(max_length=15)
def index(req):
print '222'
person1 =Person()
person1.age=12
person1.name='李四'
person1.save()
book1=Books()
book1.title='三国演义'
book1.person=person1
book1.save()
book2=Books()
book2.title='三国演义'
book2.person=person1
book2.save()
取出对象:
b = Book.objects.get(id=50)
b.authors.all()
b.authors.filter(first_name='Adam')
从作者出发获取书籍
a = Author.objects.get(id=1)
a.book_set.all()
删除对象
a = Author.objects.get(id=1)
b = Book.objects.get(id=50)
b.authors.remove(a) 或者 b.authors.filter(id=1).delete()
相关文章推荐
- 关于hibernate中映射中有many to one等外键关联时的问题
- hibernate学习4之one-to-many单向关联(不推荐)
- many-to-one单向关联映射
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- hibernate学习5之one-to-many双向关联
- 学习笔记-----------表之间的关联(one-to-one many-to-one many-to-many)
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- hibernate many to one 非主键关联
- JPA实现一对多(OneToMany)关联
- Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField
- hibernate学习5之one-to-many双向关联
- 多对一关联映射(many-to-one)
- Hibernate 、多表关联映射-多对一关系(many-to-one)
- hibernate中many-to-one关联时出现ObjectNotFoundException异常
- hibernate 多对一(Many-to-one)单向关联
- 关于为什么单向一对多(one-to-many)要使用关联表的再思考
- Hibernate 、多表关联映射-多对一关系(many-to-one)
- Hibernate 、多表关联映射-多对一关系(many-to-one)