django model 의 get 과 filter 방법의 차이 점(필수 편)
이들 의 차 이 를 설명 하기 위해 2 개의 models 를 정의 합 니 다.
class Student(models.Model):
name = models.CharField(' ', max_length=20, default='')
age = models.CharField(' ', max_length=20, default='')
class Book(models.Model):
student = models.ForeignKey(Student)
첫째,django 의 get 방법 을 먼저 말 합 니 다.1.django 의 get 방법 은 데이터베이스 에서 일치 하 는 결 과 를 얻 고 대상 을 되 돌려 주 는 것 입 니 다.기록 이 존재 하지 않 으 면 오류 가 발생 합 니 다.
예 를 들 어 제 데이터베이스 에 기록 이 있 습 니 다.기 록 된 name 의 값 이 우리 Python 이 라면 저 는 student=Student.objects.get(name='우리 python')을 사용 합 니 다.
기록 대상 을 되 돌려 줍 니 다.student 을 통 해.dict _ _이것 은 사전 의 형식 을 되 돌려 줍 니 다.('key':valeus 곶,key 는 필드 의 이름 이 고 values 는 값 의 내용 입 니 다.
만약 내 가 get 방법 으로 데이터베이스 에 존재 하지 않 는 기록 을 조회 하면 프로그램 이 잘못 보고 할 것 이다.
예 를 들 어 student=Student.objects.get(name='우리')은 스스로 실행 해 볼 수 있 습 니 다.
2.django 의 get 으로 관련 표 의 데 이 터 를 얻 으 면 관건 표 의 데이터 가 2 개 보다 많 으 면 잘못 보고 할 수 있 습 니 다.
예 를 들 어 제 student 표 에 기록 이 있 습 니 다.
d name age
1 python 24
book :
id student_id
1 1
2 1
쓰다
student = Student.objects.get(name='python')
book = Book.objects.get(student)
책 표 에 2 개의 기록 이 student 표 와 일치 하기 때문에 잘못 보고 할 수도 있 습 니 다.둘째,django filter:
1.django 의 filter 방법 은 데이터베이스 에서 일치 하 는 결 과 를 얻 고 대상 목록 을 되 돌려 주 는 것 입 니 다.기록 이 존재 하지 않 으 면[]로 돌아 갑 니 다.
예 를 들 어 제 데이터베이스 에 기록 이 있 습 니 다.기 록 된 name 의 값 이 우리 python 이 라면 제 가 사용 하 겠 습 니 다.
student=Student.objects.filter(name='우리 python')
그것 이 돌아 온 student 는 대상 의 목록 으로 student[0]과 위의 get 방식 으로 돌아 온 student 의 결 과 는 같다 는 것 을 알 수 있다.
2.django 의 get 으로 관련 표 의 데 이 터 를 얻 으 면 관련 표 가 얼마나 기록 되 어 있 든 지 간 에 잘못 보고 하지 않 습 니 다.
django 는 model 이 강하 다 는 것 을 제외 하고 폼 과 템 플 릿 도 강하 다.
또한 다른 자료 에서 filter 는 캐 시 데이터 기능 이 있 는 것 같 습 니 다.데이터 베 이 스 를 처음 조회 하고 캐 시 를 생 성 합 니 다.다음 에 filter 방법 을 호출 하면 캐 시 데 이 터 를 직접 얻 습 니 다.get 방법 은 실행 할 때마다 데이터 베 이 스 를 직접 조회 합 니 다.이것 이 정확 한 지 모 르 겠 습 니 다.
이것 은 제 가 한동안 django 의 간식 으로 느 낀 것 입 니 다.django get 과 filter 를 이해 하 는 데 도움 이 되 었 으 면 좋 겠 습 니 다!
django model 의 get 과 filter 방법의 차이 점(필수 편)은 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.많은 응원 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.