我正在使用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或其他),请告诉我。谢谢!
答案 0 :(得分:2)
我明白了。问题是我需要调用Program.objects。 select_related()然后传递关键字参数relations=('programmilestone_set', 'programassignment_set',)
。