Я в ситуации, когда я не могу использовать наследование. Скажем, у меня есть две модели, а Person
и Passport
, для этого примера предположим, что они имеют отношение один-к-одному:Использовать поля между OneToOneField в модели
class Passport(models.Model):
full_name = models.CharField()
class Person(models.Model):
passport = models.OneToOneField(Passport)
сейчас отсюда, я хочу, чтобы получить Person
«s full_name
. В моей заявке Person
не может существовать без уникального Passport
, поэтому как мне получить доступ к атрибуту full_name
через объект Person
. Я в конечном счете, хочу, чтобы иметь возможность сделать что-то вроде этого:
class Person(models.Model):
passport = models.OneToOneField(Passport)
def __unicode__(self):
return self.passport.full_name
Есть простое решение этой проблемы является Django?
Какая ошибка у вас? –
Да, ваш пример работает 100%. –
Это моя ошибка - получается, что одна из моих моделей была добавлена без синхронизации/миграции моей базы данных. Я получал ошибку и заставлял думать, что это не сработает. – Joker