Django 객체 관계 매핑(ORM) 소스 상세 정보
앞에서 알 수 있듯이 리퀘스트의 도착과response에 대응하는 반환 절차는 데이터 처리와 데이터베이스와 떨어질 수 없다.우리도 자주 views에 있어요.py의 함수 정의에서 데이터베이스와 접촉합니다.
django ORM 소스 코드 조직 구조
데이터베이스에 대해django는 자신만의 ORM(대상 관계 매핑)을 가지고 있기 때문에 다른 프레임워크는 마음대로 ORM을 바꿀 수 있지만 django는 이렇게 하는 것을 권장하지 않는다.django에 많은 모델이 내장되어 있기 때문에 이런 모델은 django에 내장된 ORM으로 이루어진 것이 틀림없다. 만약에 교체한 후에 내장된 모델은 무효다. 다음 두 가지 선택을 제외하고는.
당신은 이미django의 ORM을 꿰뚫고 자신의 ORM을 맞춤형으로 만들었지만 반드시 안에 있는 규칙, 예를 들어 클래스의 속성명 등을 사용해야 합니다.또는 자신의 ORM을 교체하고django에 내장된 모델을 사용하지 않습니다.django는 크고 완전한 틀이지만 크고 완전한 것은 그 자체의 부담을 증가시켜 유연성을 크게 떨어뜨린다.그러니까 봐, 고내중저결합은 쉽지 않아.
데이터베이스 자체가 복잡하고 데이터베이스 조작과 관련된 옵션이 매우 많으며 ORM도 결코 간단하지 않다.django 데이터베이스 부분은django에 있습니다.db에서 구현되며, 확장하기 전에 소스 코드 파일 조직에 대해 설명합니다.
django.db
----backends
----dummy , ,
----mysql mysql
----oracle oracle
----.....
----models , backends
----fields
----.....
----sql , sql , where , sql ;
----.....
----aggregates.py
----base.py Model
----constants.py
----deletion.py
----expressions.py , where
----loading.py
----manager.py ORM
----options.py ,
----query.py
----query_utils.py
----related.py ` `
----signals.py
----__init__.py
django ORM 밑바닥의 실현은 모두django입니다.db.models에서.알다시피 데이터베이스 조작에 대한 옵션이 매우 많습니다. 여기서 이러한 옵션이 django ORM에서 어떻게 실현되었는지에 집중하지 않고 전개될 것은django ORM의 실현 프레임워크입니다. django ORM으로 간단한 조회 조작을 수행할 때 그 안에서 어떻게 일을 하고 공구류가 어떻게 조화를 이루는지 설명합니다.이것들을 이해하면django ORM을 사용하면 더욱 여유가 있을 것입니다.
나는 이미github에서 Django 원본의 주석: Decode-Django, 관심 있는 어린이 신발 포크를 백업했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.