Existe uma maneira de definir o relacionamento de chave estrangeira usando a id de inteiro de um modelo? Isso seria para fins de otimização.
Por exemplo, suponha que eu tenha um modelo de funcionário:
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
type = models.ForeignKey('EmployeeType')
e
EmployeeType(models.Model):
type = models.CharField(max_length=100)
Quero a flexibilidade de ter tipos de funcionários ilimitados, mas no aplicativo implantado provavelmente haverá apenas um único tipo, então estou me perguntando se há uma maneira de codificar a id e definir o relacionamento dessa forma. Dessa forma, posso evitar uma chamada de banco de dados para obter o objeto EmployeeType primeiro.
fonte
type
campo seja gravado no banco de dados, se você acessar atype
propriedade posteriormente, ela não refletirá a alteração. Dito em código, isso iria falharassert(employe.type.id == 4)
.Uma alternativa que usa criar para criar o objeto e salvá-lo no banco de dados em uma linha:
fonte