Estoy seguro de que me estoy perdiendo algo aquí.
Tengo dos modelos, Foo y Bar así.
class Foo(models.Model): bar = models.OneToOneField(Bar) .. class Bar(models.Model): foo = models.OneToOneField(Foo) ..
Ahora tengo que crear nuevas instancias para ambos que se asignarán 1-1. Al crear una instancia, me obliga a asignar el nombre a la otra instancia que aún no existe.
¿Cómo manejar esto? ¿Hay alguna manera de crear una instancia vacía de antemano o algo así?
foo_instance = Foo(bar=bar_instance) foo_instance.save() # won't work since bar_instance not yet created ..
Debe declarar la relación solo una vez.
class Foo(models.Model): .. class Bar(models.Model): foo = models.OneToOneField(Foo) ..
Luego, llama a sus objetos en ambos lados de las instancias.
foo_instance = Foo() bar_instance = Bar(foo=foo.instance) bar_instance.foo foo_instance.bar # As the name of the class, but in lowercase