2014-11-06 5 views
0


Я в настоящее время работает на WebAppмодели нагрузки и связанные с ними данные

стороне сервера:

стороне клиента:


Мой вопрос о картографирования отношения с библиотекой Restangular.

Exemple:

controller.js

Restangular.all('Cars').getList().then(function(_cars){ 
    $scope.cars= _cars; 
}); 


_list.html

<tr ng-repeat="car in cars"> 
    <td>{[project.id]}</td> 
    <td>{[project.owner.name]}</td> <!-- owner is not mapped, (project.owner == ID) --> 
</tr> 


Мой код:

Джанго: models.py

class Person(models.Model): 
    #.... 
    name = models.CharField(db_index=True, max_length=200) 

class Car(models.Model): 
    #.... 
    owner = models.ForeignKey(Person, blank=True, null=True) 

Джанго: serializers.py

class CarSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Car 
     fields = ('id', /*...*/, 'owner') 

Джанго: view.py

class CarList(generics.ListCreateAPIView): 
    queryset = Car.objects.all() 
    serializer_class = CarSerializer 

Я надеюсь, что способ полностью отобразить мой объект easil y, я не против другого, кроме библиотеки Restangular.

ответ

1

Похоже, что вам нужно определить Serializer для Person и ссылаться на него в вашем CarSerializer:

class PersonSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = models.Person 

    fields = ('id', ...) 


# Then use that serializer in CarSerializer: 
class CarSerializer(serializers.ModelSerializer): 
    owner = PersonSerializer(source='owner') 

    class Meta: 
     model = Car 
     fields = ('id', /*...*/, 'owner') 

Проверка полезной нагрузки JSON с помощью просматриваемый API DRF, чтобы получить желаемые данные.

+0

Отлично! Копировать/Прошлая работа 100% –

Смежные вопросы