Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kode Django atau pemicu MySQL

Ada banyak cara untuk memecahkan masalah yang Anda jelaskan:

  • Logika Aplikasi
    • Logika khusus tampilan -- Jika perilaku tersebut khusus untuk satu tampilan, maka letakkan perubahan di tampilan tersebut.
    • Logika khusus model -- Jika perilaku khusus untuk satu model, maka mengganti metode save() untuk modelnya.
  • Logika Perangkat Menengah -- Jika perilaku berhubungan dengan beberapa model ATAU perlu membungkus aplikasi yang ada, Anda dapat menggunakan sinyal pra-simpan/pasca-simpan untuk menambahkan perilaku tambahan tanpa mengubah aplikasi itu sendiri.
  • Prosedur Tersimpan Basis Data -- Biasanya kemungkinan, tetapi ORM Django tidak menggunakannya. Tidak portabel di seluruh basis data.
  • Pemicu Basis Data -- Tidak portabel dari satu basis data ke basis data lainnya (atau bahkan satu versi basis data ke versi berikutnya), tetapi memungkinkan Anda untuk mengontrol perilaku bersama di beberapa aplikasi (mungkin non-Django).

Secara pribadi, saya lebih suka menggunakan baik mengesampingkan metode save(), atau menggunakan sinyal Django. Menggunakan logika khusus tampilan dapat membuat Anda mengetahui aplikasi besar dengan banyak tampilan dari model yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menetapkan xml yang dihasilkan oleh loop sementara ke variabel

  2. Apakah mungkin untuk GROUP BY beberapa kolom menggunakan MySQL?

  3. Lokasi file konfigurasi MySQL (yaitu:my.cnf) tidak ditentukan

  4. Bidang Ekstra dengan SQL MIN() &GROUP BY

  5. Permintaan MySQL dengan batas dan offset besar berlangsung selamanya