Ich habe folgende ModelleDaten von Fremdschlüsselbeziehungen in einem Serializer Django Get: Rest-Framework
class Task(models.Model):
task_name = models.CharField(max_length=255)
task_description = models.TextField(blank=True, null=True)
project_id = models.ForeignKey('Project')
class Project(models.Model):
project_name = models.CharField(max_length=255)
project_description = models.CharField(max_length=255)
ich für diese Aufgabe einen Serializer schreibe
class TaskSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = (
'id',
'task_name',
'task_description',
'project_id',
)
Aber ich möchte den Projektnamen als auch im TaskSerializer, auf den mit der Projekt-ID zugegriffen werden kann. Wie erreiche ich das?
Dies gibt mir einen Projektname nicht für Task-Objekt Fehler definiert. Ich möchte sowohl ID als auch Name in der Antwort! –
Nun, in diesem Fall erhalten Sie eine verschachtelte Antwort. Dh Sie müssen auf den Namen über task.project_id.project_name zugreifen. Um die Projekt-ID in der Antwort hinzuzufügen, ändern Sie einfach den Projektserializer –