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

menyimpan kunci asing, bukan dari metode formulir POST, tetapi dengan data formulir yang sudah saya miliki

Jangan mencoba untuk menetapkan int untuk payment.student .Tugaskan student contoh.

payment.student = student.get(pk=1) # Desired value `1` for foreign key assumed

Selain itu, Anda harus mengikuti aturan gaya pengkodean (baca tentang PEP8 ):

  • nama kelas dimulai dengan huruf kapital
  • nama kolom tidak diawali dengan huruf kapital
  • variabel dan bidang tidak menggunakan case unta - nama kelas bisa

Kode Anda akan berfungsi tanpa aturan ini, tetapi sebagai Pengembang Python, kami memiliki beberapa standar untuk kode yang dapat dibaca.

Dan di Django anda tidak perlu mendefinisikan bidang kunci utama - itu dibuat secara otomatis dan dapat diakses dengan instance.pk .
Dan saya tidak yakin apakah Anda benar-benar ingin kunci asing Anda menunjuk ke student kolom student tabel.
Dan Anda cukup mengimpor student model jika didefinisikan dalam modul lain.

Jadi dengan koreksi ini definisi kelas Anda akan menjadi seperti:

from other_app.models import Student

class Payment(models.Model):
    student = models.ForeignKey(Student)
    date_time = models.DateField(auto_now_add=True)
    amount_due = models.DecimalField(max_digits=5, decimal_places=2)

Sekarang setiap instance Pembayaran memiliki bidang implisit pk yang merupakan singkatan dari kunci utama. Dan akhirnya garis dalam tampilan Anda dengan koreksi gaya:

payment.student = Student.get(pk=1) # Desired value `1` for foreign key assumed
# payment is instance so all lowercase here
# Student on the right side is a class so started with capital



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipkan MySql Pilih uuid()

  2. Desain DB:tabel anggota terpisah atau semua dalam satu tabel?

  3. Rails membuat schema_migrations - Mysql2::Error:Kunci yang ditentukan terlalu panjang

  4. impor file csv dari Situs FTP eksternal

  5. Berapa batas ukuran untuk tabel Query/View di MySQL?