Is there a way to set foreign key relationship using the integer id of a model? This would be for optimization purposes.
For example, suppose I have an Employee model:
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
type = models.ForeignKey('EmployeeType')
and
EmployeeType(models.Model):
type = models.CharField(max_length=100)
I want the flexibility of having unlimited employee types, but in the deployed application there will likely be only a single type so I'm wondering if there is a way to hardcode the id and set the relationship this way. This way I can avoid a db call to get the EmployeeType object first.
.save()
uses the fieldattname
(pre_save()
returns theattname
value). For ForeignKeys,attname
is the name with_id
suffix. Also, thefoobar_id
attribute of a model instance is automatically updated when you setfoobar
. But where is it officially documented? – Fronnia