0
私はdjango-rest-frameworkで2つのモデルを結合しようとしています。 私のコードではエラーは発生しませんが、結合が必要な他のモデルフィールドも表示されません。Pythonでモデルに参加する方法djangorestframework
シリアライザ:
class CompaniesSerializer(serializers.ModelSerializer):
class Meta:
model = Companies
fields = ('id', 'title', 'category')
class JobhistorySerializer(serializers.ModelSerializer):
companies = CompaniesSerializer(many=True,read_only=True)
class Meta:
model = Jobhistory
fields = ('id', 'title', 'company_id', 'companies')
ビュー
は、以下の私のコードスニペットです。
class UserJobs(generics.ListAPIView):
serializer_class = JobhistorySerializer()
def get_queryset(self):
user_id = self.kwargs['user_id']
data = Jobhistory.objects.filter(user_id=user_id)
return data
モデル:事前に
class Companies(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=100, blank=True, default='')
category = models.CharField(max_length=30, blank=True, default='')
created = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ('created',)
def save(self, *args, **kwargs):
title = self.title or False
category = self.category or False
super(Companies, self).save(*args, **kwargs)
class Jobhistory(models.Model):
id = models.AutoField(primary_key=True)
company_id = models.ForeignKey(Companies)
title = models.CharField(max_length=100, blank=True, default='')
created = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ('created',)
def save(self, *args, **kwargs):
company_id = self.company_id or False
title = self.title or False
super(Jobhistory, self).save(*args, **kwargs)
感謝。どんな助けもありがとう。あなたは
serializer_class = JobHistorySerializer()
を持って、あなたの意見で
表示されていないフィールドについて説明できますか? 'company_id'または' companies'?また、 'models.py'ファイルを追加できますか? – PatDuJour
私は、企業のモデルのすべての分野が応答として追加されることを望みます。 –
'models.py'ファイルを見ると非常に便利です。私は 'Jobhistory'が' Companies'へのForeignKeyを持っていると仮定していますか? – PatDuJour