/ / Django get all, с свързани модели - django, django-models, django-rest-framework

Джанго получи всичко - със свързани модели - django, django-models, django-rest-framework

Проблем:

Използвам Django Rest Framework и искам да изтегля всички модели с включените връзки, като това:

TestModel.objects.all()

Моят модел изглежда така:

class TestModel(models.Model):
name = models.CharField(max_length=32)
related_model = models.ForeignKey(TestRelation)

Проблемът е, че получавам само Основните ключове за related_model но имам нужда от цялото related_model!

Използвам ListCreateAPIView, с горния въпросник (TestModel.objects.all()) и най-основната форма на ModelSerializer.

Опитах се PrimaryKeyRelatedField но получавам същия резултат ..

Благодаря!

Отговори:

1 за отговор № 1

Просто създайте сериализатор за свързания си модел:

class TestRelationSerializer(serializers.ModelSerializer):

class Meta:
meta = TestRelation

и използването е като поле в TestModelSerializer:

class TestModelSerializer(serializers.ModelSerializer):
related_model = TestRelationSerializer()

Можете да го направите и по друг начин, като използвате TestModelSerializer като поле в TestRelationSerializer с множеството е истина:

class TestRelationSerializer(serializers.ModelSerializer):
testmodel_set = TestModelSerializer(many=True)

само не забравяйте, че можете да направите и двете едновременно поради безкрайната рекурсия, която прави.