Trochę informacji na temat co się dzieje w świecie Django.
Sebastian Noack napisał rozszerzenie funkcjonalności funkcji update. Dotychczas mogliśmy podać tam tylko stałe wartości (np. foo=42). Z jego rozszerzeniem możemy podać całe wyrażenie zmieniające wartość. Przykładowo: foo = aktualna_wartość + 1
Więcej informacji na: groups.google.com code.djangoproject.com/ticket/7210
Przykłady:
from django.db.models.sql.expressions import *
qset = model.objects.all()
# Equivalent to qset.update(foo=42)
qset.update(foo=LiteralExpr(42))
# Increment column 'foo' by one.
qset.update(foo=CurrentExpr() + LiteralExpr(1))
# Swap the value of the column 'foo' and 'bar'.
qset.update(foo=ColumnExpr('bar'), bar=ColumnExpr('foo'))
Być może zostanie to wrzucone do głównego drzewa Django
Poprawiono błąd typu XSS, który był w aplikacji admin. Zalecana jest aktualizacja do nowszych wersji. Więcej informacji na: www.djangoproject.com/weblog/2008/may/14/security/
Duży silnik blogowy z pełną funkcjonalnościa z dostępnymi źródłami napisany w Django: http://byteflow.su/
Przykład z pierwszej części wpisu stał się trochę nieaktualny, wraz z nową wersją patcha obiekty *Expression() zostały zastąpione obiektem F(). To, czy propozycja zostanie zaakceptowana też nie jest pewne (na razie brak jakichkolwiek decyzji, bo głównie brakuje testów i dokumentacji). Mi się osobiście ta propozycja bardzo podoba :) Tym bardziej, że - z tego co zrozumiałem - Sebastian Noack planuje oprzeć na tym swój własny projekt, który ma - podobnie jak mptt - umożliwiać wygodne przechowywanie (i wyciąganie) struktur drzewiastych w bazie. Dodanie obsługi wyrażeń do update pozwoliłoby wyeliminować potrzebę pisania czystych zapytań SQL. Poza tym fajnie byłoby gdyby projekt wykorzystywał nowe możliwości qs-rf, takie jak dziedziczenie modelów.
ORM django poszedł ostatnio tyle do przodu, że można sobie wyobrazić sytuację, że trzymanie struktur drzewiastych w bazie będzie się sprowadzać jedynie do dziedziczenia modelu z jakieś klasy abstrakcyjnej, np. Tree. Jakby do tego dołożyć jeszcze fajne API (ala DOM czy wzorowane na ElementTree) z łańcuchowością na wzór jQuery (opisaną jakiś czas temu przez Simona Willisona) to zniknęłaby potrzeba sztucznego spłaszczania struktur modeli aplikacji webowych, które w rzeczywistości mają strukturę drzewiastą (jak komentarze czy kategorie).
Byteflow to ciekawy projekt z masą ficzerów. Fajnie jakby powstało coś podobnego, ale bardziej uporządkowanego, z obszerniejszą dokumentacją. No i fajnie gdyby było multi-user (to by jednak oznaczało rezygnację z wykorzystania automatycznego panelu admina i w konsekwencji więcej roboty ;))