使用DjangoFullSerializers将自定义ManyToMany关系序列化为JSON

时间:2011-07-06 14:23:51

标签: django json

我正在使用DjangoFullSerializers来序列化此模型(转换为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')

问题是我希望能够序列化所有这些信息 - 即不仅仅是前四个字段,而是所有设计师和与此计划相关的里程碑信息。我也applied a patch似乎能够解决我的问题,但我为relations关键字参数尝试了许多不同的值,例如'milestones''milestone_set''ProgramMilestones''ProgramMilestone_set'等等。到目前为止,他们都没有为我工作过。

如果有人知道如何序列化最后两个M2M字段(使用DjangoFullSerializers或其他),请告诉我。谢谢!

1 个答案:

答案 0 :(得分:2)

我明白了。问题是我需要调用Program.objects。 select_related()然后传递关键字参数relations=('programmilestone_set', 'programassignment_set',)