Django 1.5.4 주제 28 키 조작
1908 단어 django
예: 한 작가가 여러 책에 대응하고, 한 책에 한 작가만 대응한다.
모델 코드:
class Person(models.Model);
name = models.CharField(' ', max_length=10)
age = models.IntegerField(' ')
class Book(models.Model):
person = models.ForeignKey(Person, related_name='person_book')
title = models.CharField(' ', max_length=10)
pubtime = models.DateField(' ')
1.1 저자로부터 책 얻기
django의 Filter 방법은 데이터베이스에서 일치하는 결과를 얻어 대상 목록을 되돌려줍니다. 기록이 존재하지 않으면 [] 을 되돌려줍니다.Filter는 캐시 데이터 기능이 있는 것 같습니다. 첫 번째로 데이터베이스를 조회하고 캐시를 생성합니다. 다음에 Filter 방법을 호출하면 캐시 데이터를 직접 얻을 수 있습니다. get 방법은 매번 실행할 때마다 데이터베이스를 직접 조회합니다. 이것이 정확한지 모르겠습니다.
person = Person.objects.fiter( )
book = person.book_set.all()
1.2.책으로부터 저자를 얻다
p = book.person
둘.여러 쌍의 ManyToManyField
models 코드
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=200)
authors = models.ManyToManyField(Author)
2.1 책으로부터 저자 얻기
django의 get 방법은 데이터베이스에서 일치하는 결과를 얻어 대상을 되돌려줍니다. 기록이 존재하지 않으면 오류가 발생합니다.
b = Book.objects.get(id=50)
b.authors.all()
b.authors.filter(first_name='Adam')
2.2.저자로부터 책을 얻다
a = Author.objects.get(id=1)
a.book_set.all()
2.3.객체 추가 방법
a = Author.objects.get(id=1)
b = Book.objects.get(id=50)
b.authors.add(a)
2.4.객체 객체 삭제 방법
a = Author.objects.get(id=1)
b = Book.objects.get(id=50)
b.authors.remove(a) b.authors.filter(id=1).delete()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.