Przede wszystkim nie chodzi o tworzenie lub aktualizowanie obiektów zagnieżdżających, ale tylko o ich ustawienie. pozwala wykorzystać następujący przykład: Mam następujące modele:Jak ustawić obiekt zagnieżdżony w strukturze repozytorium django?
class Category(models.Model):
code= models.CharField(max_length=2)
name= models.CharField(max_length=100)
class Question(models.Model):
category= models.ForeignKey(Category, related_name='categories')
title = models.CharField(max_length=100)
oraz następujące serializers:
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ('code', 'name')
class QuestionSerializer(serializers.ModelSerializer):
category= CategorySerializer()
class Meta:
model = Question
fields = ('category', 'title')
Teraz, kiedy get
Question
, grzywny działa zgodnie z oczekiwaniami: Mam pola zapytania z polami kategorii zgodnie z oczekiwaniami.
Problem, który mam jest, gdy chcę post
Question
tylko o Category.code
, nie jestem pewien, jak skonfigurować/używać istniejącego Category
. Próbowałem różnych sposobów, ale żaden z nich nie działał.
Jeśli usunąć category= CategorySerializer()
na QuestionSerializer
i przekazać id
(pk
) z Category
na moją prośbę, niż to działa, Question
są zapisywane z pokrewnym Category
.
Czy istnieje sposób, aby wskazać, jak serializować zagnieżdżony obiekt?
Z góry dziękujemy za wszelkie uwagi/porady/rozwiązania.
Możliwy duplikat [Django REST Framework: tworzenie i aktualizowanie obiektu z zagnieżdżona wartość obiektu (zamiast klucza podstawowego)] (http://stackoverflow.com/questions/35181118/django-rest-framework-create-and-update-an-object-with-a-nested-object-value-i) – bakkal