Gibt es eine Möglichkeit, die Fremdschlüsselbeziehung mithilfe der Ganzzahl-ID eines Modells festzulegen? Dies wäre zu Optimierungszwecken.
Angenommen, ich habe ein Mitarbeitermodell:
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
type = models.ForeignKey('EmployeeType')
und
EmployeeType(models.Model):
type = models.CharField(max_length=100)
Ich möchte die Flexibilität, unbegrenzte Mitarbeitertypen zu haben, aber in der bereitgestellten Anwendung wird es wahrscheinlich nur einen einzigen Typ geben. Daher frage ich mich, ob es eine Möglichkeit gibt, die ID fest zu codieren und die Beziehung auf diese Weise festzulegen. Auf diese Weise kann ich einen Datenbankaufruf vermeiden, um zuerst das EmployeeType-Objekt abzurufen.
quelle
type
Feld in die Datenbank geschrieben wird,type
spiegelt es die Änderung nicht wider , wenn Sie anschließend auf die Eigenschaft zugreifen . Im Code gesagt, würde dies fehlschlagenassert(employe.type.id == 4)
.Eine Alternative, bei der create verwendet wird , um das Objekt zu erstellen und in einer Zeile in der Datenbank zu speichern:
quelle