Catatan terbitan Django 1.8.2¶
20 Mei 2015
Django 1.8.2 memperbaiki masalah keamanan dan beberapa kesalahan di 1.8.1.
Diperbaiki pembilasan sesi di backend cached_db
¶
Sebuah perubahan pada session.flush()
di backend sesi cached_db
di Django 1.8 salah menyetel kunci sesi ke sebuah string kosong daripada None
. Sebuah string kosong diperlakukan sebagai kunci sesi sah dan kue sesi disetel sesuai dengan itu. Pengguna aapapun dengan sebuah string kosong di kue sesi mereka akan menggunakan penyimpanan sesi sama. session.flush()
dipanggil oleh django.contrib.auth.logout()
dan, lebih serius, dengan django.contrib.auth.login()
ketika seorang pengguna mengganti akun. Jika seorang pengguna masuk dan masuk kembali ke akun berbeda (tanpa keluar) sesi dibilas untuk menghindari penggunaan kembali. Setela sesi dibilas (dan kunci sesinya menjadi ''
) rincian akun disetel pada sesi dan sesi disimpan. Pengguna apapun dengan sebuah string kosong di kue sesi mereka akan sekarang masuk ke akun itu.
Perbaikan kesalahan¶
- Diperbaiki pemeriksaan untuk keunikan nama lain mesin cetakan (#24685).
- Diperbaiki kegagalan ketika menggunakan kembali instance
Case
sama di sebuah permintaan (#24752). - Diperbaiki promosi join untuk pernyataan
Case
. Sebagai contoh, bubuhi keterangan sebuah permintaan dengan pernyataanCase
dapat tidak diharapkan menyaring hasil (#24766). - Diperbaiki meniadakan obyek
Q
dalam pernyataan. Kasus-kasus sepertiCase(When(~Q(friends__age__lte=30)))
mencoba membangkitkan sebuah sub permintaan yang menghasilkan sebuah kegagalan (#24705). - Diperbaiki pembangkitan klausa GROUP BY tidak benar di MySQL ketika model permintaan mempunyai pengacuan-sendiri (#24748).
- Diterapkan
ForeignKey.get_db_prep_value()
sehinggaForeignKey
itu menunjuk keUUIDField
dan mewarisi pada model dengan primary keyUUIDField
bekerja dengan benar (#24698, #24712). - Diperbaiki pencarian
isnull
untukHStoreField
(#24751). - Diperbaiki kegagalan MySQL ketika sebuah perpindahan memindahkan indeks dipadukan (unique_together atau index_together) mengandung foreign key (#24757).
- Diperbaiki penghapusan kue sesi ketika menggunakan
SESSION_COOKIE_DOMAIN
(#24799). - Pada PostgreSQL, ketika tidak ada akses diberikan untuk basisdata
postgres
, Django sekarang jatuh kebelakang ke basisdata awalan ketika itu secara biasa membutuhkan hubungan "no database" (#24791). - Diperbaiki tampilan dari widget
ForeignKey
contrib.admin
ketika itu digunakan dalam sebuah baris dengan bidang lain (#24784).