При использовании внешнего поля в модели Django создает два поля: одно для фактической ссылки, а другое ссылается на другую модель.
class A(Model):
i = IntegerField()
class B(Model):
a = ForeignKey(A)
В B
теперь есть два поля:a
и a_id
.a_id
- это уникальный идентификатор, хранящийся в базе данных, а a
может использоваться для прямого доступа к полям в A
, например:
b = B.objects.get(...)
b.a.i = 5; # Set the field of A
b.a.save() # Save A