# Dokumentasi Django 6.0.7

# Catatan terbitan Django 1.2.4

Selamat datang di Django 1.2.4!

Ini adalah terbitan "bugfix" keempat di rangkaian 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.

To remedy this, `django.contrib.admin` will now validate that querystring lookup arguments either specify only fields on the model being viewed, or cross relations which have been explicitly allowed by the application developer using the preexisting mechanism mentioned above. This is backwards-incompatible for any users relying on the prior ability to insert arbitrary lookups.

## 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.

Most users -- even users with multiple-database configurations -- need not be concerned about the data loss bug, or the manual configuration of `TEST_DEPENDENCIES`. See the original problem report documentation on controlling the creation order of test databases for details.

## 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.