Взаимные атрибуты foo.bar и bar.foo в моделях django с однообъемными представлениями
У меня есть два класса, Foo и Bar, в приложении Django (в AppEngine, если это имеет значение). Между ними отношения один на один.
class Foo(BaseModel):
bar = Bar.objects.get(foo=self.id)
class Bar(BaseModel):
foo = models.OneToOneField(Foo, blank=True, null=True, help_text="Foos for this bar")
Мне бы хотелось, чтобы каждый объект обоих классов имел связанный объект другого класса в качестве переменной экземпляра.
Какой лучший способ разрешить это?
При попытке кода выше, я в странной ситуации: так как каждый из них ссылается друг на друга, я пытаюсь использовать эти переменные, прежде чем они будут определены (и, конечно, это не работает).
Я подозреваю, что есть правильный способ сделать это, и это не так!
1 ответ
Решение
Вам не нужно ничего делать. Это поведение по умолчанию. Просто определите отношения в Bar
, а также Foo
автоматически получит bar
приписывать.