django-repos-cadre: mise en place de processus pour les clés étrangères

Dans mon modèle, j'ai deux tables: Vtable et Vdata. Chaque table virtuelle (dans Vtable) possède des entrées de données virtuelles stockées dans Vdata.

Je suis en train de faire une vue de faire apparaître la liste de Vdata correspondant à chaque Vtable

Mon sérialiseur ne fonctionne pas et je pense que c'est parce que je suis en train de faire à l'envers.
Je pense que le problème est dans cette ligne:
table_id = serializers.RelatedField(many=True)

Pour la référence, j'obtiens cette erreur: 'Vtable' object is not iterable

Voici mon models.py:

from django.db import models
from django.contrib.auth.models import User

class Vtable(models.Model):
    user = models.ForeignKey(User)
    table_name = models.CharField(max_length=200)
    added_date = models.DateTimeField('date added')
    def __unicode__(self):
        return self.table_name

class Vdata(models.Model):
    table_id = models.ForeignKey(Vtable)
    table_pk = models.IntegerField()
    column_1 = models.CharField(max_length=200)
    column_2 = models.CharField(max_length=200)
    added_date = models.DateTimeField('date added')
    def __unicode__(self):
        return str(self.added_date)

Voici mon serializers.py:

from django.contrib.auth.models import User, Group
from rest_framework import serializers
from vtables.models import Vtable, Vdata

class TableSerializer(serializers.HyperlinkedModelSerializer):
    user = serializers.Field(source='user.username')

    class Meta:
        model = Vtable
        fields = ('table_name', 'added_date', 'user')

class EntrySerializer(serializers.HyperlinkedModelSerializer):
    table_id = serializers.RelatedField(many=True)

    class Meta:
        model = Vdata
        fields = ('table_id', 'table_pk', 'column_1', 'column_2', 'added_date')

Ici est la vue qui l'appelle:

class EntryList(APIView):
    def get(self, request, format=None):
        entries = Vdata.objects.all()
        serializer = EntrySerializer(entries, many=True)
        return Response(serializer.data

        class Meta:
            model = Vdata
            fields = ('table_id', 'table_pk', 'column_1', 'column_2', 'added_date')

OriginalL'auteur adrianmc | 2014-08-08