私はしばらくこれに対する答えを探していました。あるモデルから関連モデルにフィールドを追加し、関連モデル データをクエリするにはどうすればよいですか。
以下に例を示します。1 人の人が多くの仕事を持っています。
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 を使用できます。基本的に、Job から Person フィールドへのショートカットを作成したいと考えています。これは、Job が Person のフィールドを継承しているようなものです。
これにより予想されるサイトへの影響は、ジョブを残りのリソースの json としてシリアル化するときに、結果に Person フィールド データが含まれることです。
私は .Net C# のバックグラウンドを持っています。Python/Django を使用しているので、これを実現する方法がわかりません。