몇일 전 Python 프로그래밍 언어로 django를 살펴봤습니다. 전문가와 학자들이 말했듯이 성공적인 개발자가 되려면 먼저 다른 언어를 마스터해야 하기 때문에 Python 프로그래밍을 선택했습니다. 언어로.
이 며칠 동안 공부하면서 저는 다른 언어와 그 프레임워크에도 독특한 느낌이 있다는 것을 실제로 발견했습니다. 아래에서는 지난 며칠 동안 제가 본 내용을 간략하게 요약하겠습니다. 이 글은 Django에 대한 튜토리얼은 아니지만, Django에 대한 ahuaxuan의 이해가 미숙할 수도 있습니다.
Python 프로그래밍 언어의 Orm. 누군가 Django에서 가장 마음에 드는 것이 무엇인지 묻는다면 나는 그것이 Django의 ORM이라고 주저 없이 말할 것입니다. 오랜 시간 동안."불만족"하지만 지적인 관점에서 볼 때.
Hibernate가 하는 일은 매우 정확합니다. 왜냐하면 Hibernate의 주요 시장은 여전히 기업용 애플리케이션에 있어야 하지만 인터넷에서 사용하는 것이 불가능하지는 않기 때문입니다. 사람들은 ibatis 등을 더 자주 선택합니다. 왜냐하면 최대 절전 모드를 모르는 사람들은 항상 최대 절전 모드가 ibatis만큼 빠르지 않다고 말할 것이기 때문입니다(실제로 이것이 가장 나를 괴롭히고 일방적인 비교는 의미가 없습니다).
Java 세계에서 다재다능하고 다재다능한 ORM 프레임워크를 구축하는 것이 Hibernate의 목표이므로 학습 곡선과 사용의 복잡성이 날로 증가하고 있습니다. 최대 절전 모드를 완전히 마스터하는 것은 쉽지 않습니다. (크러드를 클릭할 수 있다고 말하지 말고 지연 로드를 클릭하는 방법만 알면 최대 절전 모드를 마스터할 수 있습니다.)
다양한 Python 엔터프라이즈 애플리케이션에 대해 자세히 설명
한 눈에 알아보는 명확하고 투명한 Python 애플리케이션
Python 가상 머신 스레드를 혁신하는 방법
Python 메인 스레드 이슈 연구 토론
Python 스레드 운영 이슈 연구 및 연구
Django의 ORM을 살펴보면 800페이지 정도 소요 hibernate를 명확하게 설명하는 책, Django의 ORM을 명확하게 설명하려면 200페이지면 충분합니다. (사실 공식 문서는 12페이지밖에 되지 않습니다.) 여기 제가 하고 있는 일의 예가 있습니다.
여기에는 자체 관련 개체가 있습니다(사실 Django의 ORM은 ror와는 다른 모델을 기반으로 합니다. 누군가 ror가 데이터베이스 드라이버라고 말했습니다). 이 개체에는 일반적으로 상위 개체가 있습니다. 메뉴는 이러한 개체로 정의되며 이러한 메뉴는 아래쪽으로 무한히 확장될 수 있습니다.
class Category(models.Model): id = models.AutoField('id', Primary_key=True) name = models.CharField(최대 길이=50) 코드 = 모델.CharField(최대 길이=50) parentCategory = models.ForeignKey('self', 'id', null=True) 활성화 = 모델.BooleanField() def __ str__(self): return self.name class Admin: list_display = ('id', 'name', 'code', 'parentCategory')
Python 프로그래밍 언어에 정의된 Admin은 django의 Admin 모듈을 제공합니다. 우리가 정의하는 도메인 모델에는 이러한 코드만 필요하며 models.Model은 상위 개체입니다. 모든 모델 개체는 이 개체를 상속해야 합니다. 이 개체는 일반적으로 사용되는 많은 데이터베이스 메서드를 제공하지만 SQL을 기반으로 하지 않고 Criteria와 같은 개체를 기반으로 합니다. 다음은 Category를 쿼리하는 데 일반적으로 사용되는 몇 가지 방법입니다.
물론 Django의 ORM은 매우 일반적으로 사용되는 많은 기능을 제공합니다. 여기서는 매우 일반적으로 사용되는 많은 기능을 제공한다는 점에 유의하세요. hibenate의 복잡한 매핑 전략. 나는 그것을 django에서 보지 못했습니다.
하지만 django에서 이 기능을 찾지 못한 것이 다행입니다. 왜냐하면 django 자체는 빠른 인터넷 발전을 위한 위치에 있고 이 분야에서 거의 나타나지 않는 것들에 너무 많은 관심을 기울일 필요가 없기 때문입니다. 장점은 학습 곡선의 감소와 개발 효율성의 향상입니다.
위 내용은 Python 프로그래밍 언어에 대한 설명입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!