我一直在寻找这个问题的答案一段时间。如何将一个模型中的字段添加到相关模型并查询相关模型数据。
这是一个例子:一个人有很多工作。
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 框架序列化这些附加属性。是时候发一个新帖子了。
现在我想要做的是查询工作并获取相关的人员数据以及工作人员字段。这样,当我查询作业时,我可以使用 job.FirstName。我基本上想从 Job 中创建到 Person 字段的快捷方式。这有点像 Job 在继承 Person 的字段。
预期的站点效果是,当将 Job 序列化为 json 以获取 rest 资源时,结果将包括 Person 字段数据。
我来自.Net C# 背景。现在,由于我使用的是 Python/Django,所以我不知道如何实现这一点。