Взаимные атрибуты foo.bar и bar.foo в моделях django с однообъемными представлениями - PullRequest
0 голосов
/ 28 февраля 2011

У меня есть два класса, 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 Ответ

2 голосов
/ 28 февраля 2011

Вам не нужно ничего делать.Это поведение по умолчанию.Просто определите отношение в Bar, и Foo автоматически получит атрибут bar.

...