django+python+操作数据库多表关联-增删改查-many-to-many-many-to-one

class Author(models.Model):

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()




取出对象:

  1. b = Book.objects.get(id=50)  
  2. b.authors.all()  
  3. b.authors.filter(first_name='Adam'
从作者出发获取书籍

  1. a = Author.objects.get(id=1)  
  2. 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()


 

T1DjsEFoxqXXcp9.bi-950-90.jpg

你可能感兴趣的:(django,python)