Ich habe einen Modell-Serializer, der zusammen mit einem anderen OutboundProgram-Objekt ein Program-Objekt erstellt. Der JSON, den ich erhalte, enthält alle Details eines Programmobjekts und die zusätzlichen, die ich brauche, um das OutboundProgram zu erstellen. Wie lade ich die zusätzlichen Felder ab, weil der Serializer nur die Felder für ein bestimmtes Objekt liest. P.S. unser Team unter der Leitung doesnt wollen, dass ich eine verschachtelte JSONSo rufen Sie zusätzliche JSON-Daten aus der Anforderung in django ModelSerializer ab
json durch die Anforderung empfangen verwenden:
{
"linkage": "AP",
"name": "something",
"academic_year": 2017,
"terms_available":[1,2],
"is_graduate": false,
"requirement_deadline":"2011-10-16",
"institution": 3
}
models.py
class Program(SoftDeletionModel):
linkage = ForeignKey(Linkage)
name = CharField(max_length=64)
academic_year = ForeignKey(AcademicYear)
terms_available = ManyToManyField(Term)
is_graduate = BooleanField()
def __str__(self):
return self.name
class OutboundProgram(SoftDeletionModel):
program = ForeignKey(Program)
requirement_deadline = DateField()
institution = ForeignKey(Institution)
serializers.py
class OutboundProgramSerializer(ModelSerializer):
class Meta:
model = Program
fields = "__all__"
def create(self, validated_data):
terms = validated_data.pop('terms_available')
program = Program.objects.create(**validated_data)
for term in terms:
program.terms_available.add(term)
program.save()
outbound_program = OutboundProgram.objects.create(program=program)
#how to assign outbound_program.requirements_deadline from json
return program
Jede Art Hilfe wäre nützlich. Vielen Dank!
das ist mein Problem dank gelöst! youre ein Lebensretter – Jason
froh, Ihnen zu helfen! –