models.py
은 (경우에 따라) 비어있을 수 있습니다. 당신은 데이터베이스에 매핑되는 모델을 가질 의무가 없습니다.
Django의 관리자를 기쁘게하기 위해서는 여전히 models.py
개의 파일이 있어야합니다. models.py
파일 이름은 중요하며 다양한 관리 명령으로 예상되는 파일을 변경하고 시도하는 것보다 빈 파일을 갖는 것이 더 쉽습니다.
"모델"은 일반적으로 데이터베이스에 매핑 할 필요가 없습니다. MVC 디자인의 일반적인 구성 요소 인 "모델"은 무엇이든 될 수 있습니다.
보기에서 사용하는 "모델"모듈을 직접 정의 할 수 있습니다. models.py
은 Django 관리자를 혼란스럽게 할 것이므로 그냥 부르지 마십시오. 응용 프로그램에 의미있는 무엇인가를 부르십시오 : foo.py
. 이 foo.py
은 애플리케이션을 뒷받침하는 실제 사항을 처리합니다. 반드시 Django Model.model
하위 클래스 일 필요는 없습니다.
Django MVC에는 데이터베이스 매핑이 필요하지 않습니다. models.py
이라는 모듈에 데이터베이스 매핑이 명시 적으로 포함될 것으로 예상됩니다. 실제 데이터베이스 매핑이 없으면 빈 models.py
을 사용하십시오.
귀하의 views.py
import foo
def index(request):
objects = foo.somelistofobjects()
*etc.*
장고는 쉽게 어떤 데이터베이스 매핑 작업을 수행 할 수 있습니다 사용할 수 있습니다. 모델은 쉽게 될 수 있습니다. 그냥 models.py
으로 전화하지 마세요.
편집.
뷰가 모델에 등록되어 있습니까? No.
컨트롤러에서 모델을 업데이트하면보기가 통보됩니까? 번호 :
모델은 실제로 MVP이므로 데이터 재 표시입니까? 예.
Django 문서를 읽으십시오. 간단 해.
웹 요청 -> URL 매핑 ->보기 기능 -> 템플릿 -> 응답.
모델은보기 기능으로 사용할 수 있습니다. 모델은 데이터베이스 매핑이 될 수도 있고 다른 어떤 것일 수도 있습니다.
답이 맞거나 틀릴 수도 있고, 장고를 사용하지 않았으며 파이썬을 사용해 본지 2 년이되었습니다. 그러나 이것은 MVC의 개념에 대해 웹 프레임 워크가 한 일을 절대 싫어합니다.MVC 패러다임의 모델 데이터가 데이터베이스에서 제공된다는 철저한 요구 사항은 없습니다. –
모델은 데이터베이스에서 온 것이 아닙니다. 우리는 장고 응용 프로그램에서이 작업을 수행합니다. 일부 앱에는 데이터베이스에없는 모델이 있습니다. –
충분히 공정하지만 분명히 장고에서는 표준이 아닌 방식으로 작업해야합니다. 그리고 물론 다른 프레임 워크에서도이를 보았습니다. 나는 그들이 "모델 클래스"라는 개념을 도입함으로써 감수성이 떨어지고 경험이 적은 웹 개발자들에게 서비스를 중단했다고 생각합니다. 대부분 이들은 실제로 엔티티 * 클래스입니다. 나는 모델 클래스와 같은 것이 있어야한다고 동의하지 않는다. 모델은 더 높은 수준의 추상화에있다. 아마도 모델 외관 일 수도 있지만 모델 클래스는 없습니다. 어쨌든, 그것은 내 애완 동물과 나는 MVC 순수한 사람 같아요. –