Django 1.7 z wieloma nowościami

Django 1.7 z wieloma nowościami

    przez -
    2 295
    Python
    Ogłoszono wydanie Django 1.7 – internetowego frameworka wysokiego poziomu, napisanego w Pythonie, z myślą o szybkim rozwoju aplikacji, posiadającym przejrzystą i pragmatyczną architekturę. Aplikacja jest dostępna na licencji BSD. Django opiera się na wzorcu projektowym podobnym do MVC nazywanym MVT (Model-View-Template) i posiada bardzo dużą skalowalność oraz wydajność pod obciążeniem.

    Najważniejsze zmiany:

    • Najnowsze Django 1.7 wymaga Pythona 2.7 i wyższych wersji
    • Przebudowano i zmieniono sposób ładowania aplikacji. Pojawił się rejestr programów, w których modele nie odgrywają już głównej roli. Pojawiła się możliwość definiowania konfiguracji dla poszczególnych aplikacji
    • API pól (klasy Field) wymaga teraz metody deconstruct na potrzeby migracji i kluczy kompozytowych. Dzięki wartościom zwracanym przez tą metodę (name, path, args i kwargs w krotce) można serializować dowolne pole do pliku jak i bezpiecznie je skopiować
    • Dodano nowy system migracji, zastępujący zewnętrzną aplikację South
    • Dodano obiekt Prefetch pozwalający dopasowywać zachowanie prefetch_related – można podać QuerySet jak i miejsce przechowywania danych. Można też wołać select_related z prefetchowanej relacji.
    • Dodano metodę as_manager do menedżerów modeli pozwalając tworzyć instancje menedżerów posiadające API QuerySetów, dzięki czemu można korzystać z wielu metod własnych menedżerów. Można też podać menedżer przy iterowaniu po wstecznych relacjach.
    • Dodano nowy framework do sprawdzania poprawności kodu (np. poprawności modeli). Framework jest rozszerzalny i pozwala definiować podpowiedzi dla napotykanych problemów. Komenda check zastępuje istniejącą wcześniej komendę validate.
    • Można tworzyć własne wyszukiwania i transformacje dla ORMa Django. Własne wyszukiwania będą zachowywać się jak te już istniejące (np. lte, icontains). Transformacje odpowiadają za zmianę wartości zawartych w bazie danych tuż przed ich wyszukaniem. Można np. napisać transformację, która wyciąga rok z wartości pola – co może umożliwić np. łączenie zapytań. Można po tych wartościach też filtrować.

    Bardziej rozbudowany opis zmian znajdziemy na portalu Biblioteka Riklaunima we wpisie: Duże i ciekawe zmiany w Django 1.7.

    Podobne artykuły

    Python

    przez -
    0 291
    Python

    przez -
    1 308
    Python

    przez -
    0 289