Я долго искал ответ на этот вопрос. Как добавить поле из одной модели в связанную модель и запросить данные связанных моделей.
Вот пример: у одного человека много рабочих мест.
class Person(models.Model):
PersonId = models.AutoField(primary_key=True)
FirstName = models.CharField(max_length=200, default='')
LastName = models.CharField(max_length=200, default='')
class Job(models.Model):
JobId = models.AutoField(primary_key=True)
JobName = models.CharField(max_length=200, default='')
Person = models.ForeignKey(Person, db_column='PersonId')
def _fullname(self):
return self.Person.FirstName + " " + self.Person.LastName
fullname = property(_fullname)
Приведенный выше код работает!
jobs = Job.objects.select_related()
for job in jobs:
print job.fullname
Теперь я думаю, что у меня другая проблема. Получение Django Rest Framework для сериализации этих дополнительных свойств. Время нового поста.
Теперь я хочу, чтобы я мог запрашивать задания и получать связанные данные о человеке, а также иметь поля с персоналом в работе. Таким образом, когда я запрашиваю вакансии, я могу использовать job.FirstName. Я в основном хочу сделать ярлык для полей Person из Job. Это похоже на то, что Иов наследует поля Человека.
Ожидаемый эффект этого сайта будет заключаться в том, что при сериализации Job как json для ресурса отдыха результат будет включать данные поля Person.
Я пришел из .Net C # фона. Теперь, поскольку я использую Python / Django, я понятия не имею, как это сделать.