Похоже, вы говорите об отношениях один-к-одному, и в этом случае нет необходимости хранить внешний ключ в обеих таблицах. Фактически, Django предоставляет хороших помощников в ORM для ссылки на соответствующий объект.
Использование Django's OneToOneField
:
class A(models.Model):
<snip>
class B(models.Model):
a = OneToOneField(A)
Тогда вы можете просто ссылаться на них так:
a = A()
a.save()
b = B(a=a)
b.save()
print a.b
print b.a
Кроме того, вы можете посмотреть django-раздражающий AutoOneToOneField
, который автоматически создаст связанный объект при сохранении, если он не существует в экземпляре.
Если ваша проблема не в отношениях один-к-одному, вам следует уточнить, потому что почти наверняка есть лучший способ для моделирования данных, чем взаимные внешние ключи. В противном случае нет способа избежать установки обязательного поля при сохранении.