update queryset framework foreign create django object nested response django-rest-framework

queryset - Respuesta del objeto anidado Django Rest Framework



nested relationships django rest framework (1)

Supuse que tienes el modelo de Replies como este:

class Replies(models.Model): comment = Models.Foreignkey(Comment) content = models.CharField(max_length=1000,blank=True) likes = models.IntegerField(default=0)

Entonces podría usar la clase rest_framework.serializers.ModelSerializer ( http://www.django-rest-framework.org/api-guide/serializers/#modelserializer ):

from rest_framework import serializers class RepliesSerializer(serializers.ModelSerializer): class Meta: model = Replies fields = (''id'', ''content'', ''parent_id'', ''likes'') parent_id = serializers.Field(source=''comment.parent_id'') class CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment fields = (''id'', ''parent_id'', ''content'', ''likes'', ''replies'') replies = RepliesSerializer(many=True)

Soy nuevo en Django Rest Framework, estoy tratando de implementar Comment System API, tengo un modelo como este

class Comment(models.Model): parent_id = models.IntegerField() user = models.ForeignKey(User) content = models.CharField(max_length=1000,blank=True) likes = models.IntegerField(default=0) active = models.BooleanField(default=True) created = models.DateTimeField(auto_now=False,auto_now_add=True) updated = models.DateTimeField(auto_now=True,auto_now_add=False)

donde parent_id se utiliza para las respuestas, si Parent_id es mayor que 0, significa que el comentario actual es respuesta a algún otro comentario. Ahora quiero usar Django Rest Framework para tener una respuesta json como esta:

[{"id": 10, "parent_id": 0, "contenido": "Test Comment", "me gusta": 1, respuestas: [{"id": 11, "parent_id": 10, "content": " Respuesta 1 Comentario de prueba "," me gusta ": 1,} {" id ": 12," parent_id ": 10," content ":" Reply 2 Test Comment "," likes ": 1,}]

¿Puede algún amigo ayudarme a hacer esa respuesta? Estoy usando Django 1.7.6 y Django Rest Framework 3.1.1