Catatan terbitan Django 1.2.4¶
Selamat datang di Django 1.2.4!
Ini adalah terbitan “bugfix” keempat di deretan karakter Django 1.2, memperbaiki kestabilan dan penampilan dari kode dasar Django 1.2.
Dengan satu pengecualian, Django 1.2.4 merawat kesesuaian kebelakang dengan Django 1.2.3. Itu juga mengandung sejumlah perbaikan dan pembetulan lainnya. Django 1.2.4 adalah peningkatan dianjurkan untuk setiap pengembangan dan penyebaran saat ini menggunakan atau menyasar Django 1.2.
Untuk rincian penuh pada fitur baru, ketidaksesuaian kebelakang, dan fitur diusangkan di cabang 1.2, lihat Catatan terbitan Django 1.2.
Perubahan bertentangan kebelakang¶
Batasan penyaring di antarmuka admin¶
Antarmuka administratif Django, django.contrib.admin
, mendukung penyaringan dari daftar ditampilkan dari obyek-obyek oleh bidang-bidang pada model sesuai, termasuk hubungan lintas tingkat-basisdata. Ini diterapkan dengan melewatkan argumen pencarian di bagian querystring dari URL, dan pilihan pada kelas ModelAfmin mengizinkan pengembang untuk menentukan bidang-bidang atau hubungan khusus yang akan membangkitkan tautan otomatis untuk penyaringan.
Satu riwayat tidak didokumetasi dan fitur -dukungan-tidak resmi telah mampu untuk pengguna dengan pengetahuan cukup dari struktur model dan bentuk dari argumen pencarian ini untuk membuat penyaring baru berguna dengan cepat dengan merubah permintaan deretan karakter.
Bagaimanapun, itu telah ditunjukkan bahwa ini dapat disalahgunakan untuk mendapatkan akses ke informasi diluar dari perizinan pengguna admin; sebagai contoh, seorang penyerang dengan akses ke admin dan pengetahun yang cukup dari struktur model dan hubungan dapat membangun permintaan deretan karakter yang – dengan penggunaan berulang pencarian pernyataan biasa didukung oleh API basisdata Django – membuka informasi sensitif seperti acakan sandi pengguna.
Untuk memperbaiki ini, django.contrib.admin
akan sekarang mensahkan argumen pencarian querystring itu antara menentukan hanya bidang pada model sedang ditampilkan, atau hubungan silang yang telah secara eksplisit didaftar putihkan dengan pengembang aplikasi menggunakan mekanisme sudah ada yang disebutkan ditas. Ini adalah bertentangan kebelakang untuk setiap pengguna bergantung pada kemampuan sebelumnya untuk memasukkan pencarian yang berubah-ubah.
Satu fitur baru¶
Aslinya, titik terbitan akan tidak menyertakan fitur baru, tetapi dalam kasus Django 1.2.4, kami telah membuat sebuah pengecualian pada aturan ini.
Satu dari perbaikan kesalahan di Django 1.2.4 melibatkan sekumpulan dari keadaan dimana deretan percobaan berjalan pada konfigurasi banyak basisdata dapat menyebabkan sumber asli basisdata (yaitu, basisdata produksi sebenarnya) untuk dibuang, menyebabkan bencana kehilangan data. Untuk menyediakan sebuah perbaikan untuk masalah ini, itu sangat penting untuk memperkenalkan pengaturan baru – TEST_DEPENDENCIES
– yang mengizinkan anda untuk menentukan apapun pembuatan urutan ketergantungan di konfigurasi basisdata anda.
Kebanyakan pengguna – bahkan pengguna dengan konfigurasi basisdata banyak – tidak butuh khawatir tentang kesalahan kehilangan data, atau konfigurasi manual dari TEST_DEPENDENCIES
. Lihat dokumentasi original problem report pada controlling the creation order of test databases untuk rincian.
GeoDjango¶
TEST_RUNNER
berdasarkan-fungsi sebelumnya digunakan untuk menjalankan deretan percobaan GeoDjango, django.contrib.gis.tests.run_gis_tests
, akhirnya diusangkan dalam mendukung pejalan percobaan berdasarkan kelas, django.contrib.gis.tests.GeoDjangoTestSuiteRunner
, ditambahkan di terbitan ini.
Sebagai tambahan, deretan percobaan GeoDjango sekarang disertakan ketika running the Django test suite dengan runtests.py
dan menggunakan spatial database backends.