Форум сайта python.su
Припустим есть модель
class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __unicode__(self): return self.name class Author(models.Model): name = models.CharField(max_length=50) email = models.EmailField() def __unicode__(self): return self.name class Entry(models.Model): blog = models.ForeignKey(Blog) authors = models.ManyToManyField(Author)
from django.core import serializers f = serializers.serialize('json', Entry.objects.all())
[{"pk": 1, "model": "myapp.entry", "fields": {"blog": 1, "authors": [1]}}]
Офлайн
Два варианта:
1) https://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers - вроде не работает на Django > 1.6
2) http://www.django-rest-framework.org/
Офлайн
Спасибо!!!
Первая ссылка супер!
Отредактировано anton41k (Янв. 30, 2015 10:07:20)
Офлайн
Я воспользовался первой ссылкой.
Это я разобрался работает:
data = serializers.serialize('json', Entry.objects.all(), indent = 4, fields = ("blog", "authors"), relations = {"blog": {"fields":("name",)}})
data = serializers.serialize('json', Entry.objects.all(), indent = 4, fields = ("blog", "authors"), relations = ({"blog": {"fields":("name",)}}, {"authors": {"fields":("email",)}}))
[{"pk": 1, "model": "myapp.entry", "fields": {"blog": {"pk": 1, "model": "myapp.blog", "fields": {"name": "text"} }, "authors": {"pk": 1, "model": "myapp.authors", "fields": {"email": "some_email"} , } } }]
Офлайн