Bir modelin tamsayı kimliğini kullanarak yabancı anahtar ilişki kurmanın bir yolu var mı? Bu optimizasyon amaçlı olacaktır. ÖrneğinDjango: Tamsayı'yı kullanarak yabancı anahtarı mı ayarlıyorsunuz?
, bir Çalışan modeli olduğunu varsayalım:
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
type = models.ForeignKey('EmployeeType')
ve
EmployeeType(models.Model):
type = models.CharField(max_length=100)
ben sınırsız çalışanın türlerini sahip esnekliğini istiyorum ama konuşlandırılmış uygulamada büyük olasılıkla yalnızca bir olacaktır Tek tip id bu yüzden ben id ismini kodlamak ve ilişkiyi bu şekilde ayarlamak için bir yol olup olmadığını merak ediyorum. Bu şekilde, önce EmployeeType nesnesini almak için bir db çağrısından kurtulabilirim.
belgelenmiş mi? –
[model '.save()'] (https://github.com/django/django/blob/731f313d604a6cc141f36d8a1ba9a75790c70154/django/db/models/base.py#L708) "attname" alanını kullanır (['pre_save () '' attname' değerini döndürür] (https://github.com/django/django/blob/master/django/db/models/fields/__init__.py#L602)). ForeignKeys için 'attname'' _id' soneki ismidir. Ayrıca, bir model örneğinin 'foobar_id' özniteliği, [otomatik olarak güncellenir] (https://github.com/django/django/blob/master/django/db/models/fields/related.py#L467) ayarlandığında 'foobar'. Ama resmi olarak nerede belgelendi? –
Yabancı anahtar değerlerini doğrudan kullanma: https://docs.djangoproject.com/en/1.8/topics/db/optimization/#use-foreign-key-values-directly –