Gibt es eine Möglichkeit Fremdschlüsselbeziehung mit der Ganzzahl-ID eines Modells zu setzen? Dies wäre zu Optimierungszwecken.Django: Fremdschlüssel mit Ganzzahl setzen?
Zum Beispiel nehme ich an ein Mitarbeitermodell haben:
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 Mitarbeiter Arten aufweisen, aber in der bereitgestellten Anwendung wird es wahrscheinlich nur eine sein single type, also 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 DB-Aufruf vermeiden, um das EmployeeType-Objekt zuerst zu erhalten.
dies dokumentiert ist? –
[Modell '.save()'] (https://github.com/django/django/blob/731f313d604a6cc141f36d8a1ba9a75790c70154/django/db/models/base.py#L708) verwendet das Feld 'attname' ([' pre_save () 'gibt den' attname' Wert] (https://github.com/django/django/blob/master/django/db/models/fields/__init__.py#L602)). Für ForeignKeys ist 'attname' der Name mit dem Suffix _id. Auch die 'foobar_id' Attribut eines Modells Instanz [automatisch aktualisiert] (https://github.com/django/django/blob/master/django/db/models/fields/related.py#L467), wenn Sie eingestellt 'Foobar'. Aber wo ist es offiziell dokumentiert? –
direkt Fremdschlüsselwerte verwenden: https://docs.djangoproject.com/en/1.8/topics/db/optimization/#use-foreign-key-values-directly –