Использование DjangoFullSerializer для сериализации пользовательских отношений ManyToMany в JSON - PullRequest
2 голосов
/ 06 июля 2011

Я использую DjangoFullSerializer для сериализации этой модели (в JSON):

class Program(models.Model):
    name = models.CharField(...)
    start_date = models.DateField(...)
    timeline = models.PositiveIntegerField(...)
    complete = models.BooleanField(...)

    designers = models.ManyToManyField(Designer, through='ProgramAssignment')
    milestones = models.ManyToManyField(Milestone, through='ProgramMilestone')

Проблема в том, что я хотел бы иметь возможность сериализовать всю эту информацию -т.е. не только первые четыре поля, но и вся информация о дизайнере и вехах, связанная с этой программой.Я также применил патч , который, кажется, может решить мою проблему, но я пробовал много разных значений для аргумента ключевого слова relations, например 'milestones', 'milestone_set', 'ProgramMilestones', 'ProgramMilestone_set' и т. Д., И ни один из них до сих пор не работал для меня.

Если кто-нибудь знает, как сериализовать последние два поля M2M (используя DjangoFullSerializer или иным образом), пожалуйста, дайте мне знать.Спасибо!

1 Ответ

2 голосов
/ 07 июля 2011

Я понял.Проблема заключалась в том, что мне нужно было вызвать Program.objects. select_related () и затем передать аргумент ключевого слова relations=('programmilestone_set', 'programassignment_set',).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...