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 pernyataan Case dapat tidak diharapkan menyaring hasil (#24766).

  • Diperbaiki meniadakan obyek Q dalam pernyataan. Kasus-kasus seperti Case(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() sehingga ForeignKey itu menunjuk ke UUIDField dan mewarisi pada model dengan primary key UUIDField bekerja dengan benar (#24698, #24712).

  • Diperbaiki pencarian isnull untuk HStoreField (#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).

Back to Top