Apakah ada cara untuk menyetel hubungan kunci asing menggunakan id integer model? Ini untuk tujuan pengoptimalan.
Misalnya, saya memiliki model Karyawan:
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
type = models.ForeignKey('EmployeeType')
dan
EmployeeType(models.Model):
type = models.CharField(max_length=100)
Saya ingin fleksibilitas memiliki jenis karyawan yang tidak terbatas, tetapi dalam aplikasi yang diterapkan kemungkinan hanya akan ada satu jenis jadi saya bertanya-tanya apakah ada cara untuk melakukan hardcode id dan mengatur hubungan dengan cara ini. Dengan cara ini saya dapat menghindari panggilan db untuk mendapatkan objek EmployeeType terlebih dahulu.
sumber
type
bidang ditulis ke database, jika Anda mengaksestype
properti setelahnya, itu tidak mencerminkan perubahan. Dikatakan dalam kode, ini akan gagalassert(employe.type.id == 4)
.Alternatif yang menggunakan create untuk membuat objek dan menyimpannya ke database dalam satu baris:
sumber