我想通过ManyToMany和模型B获得与模型A关联的对象列表,例如,食客(A)确认参加了一顿饭(B)。但是我不确定我应该使用哪种getter。我实际上想这样做是为了在管理面板中显示相关的对象。下面包含的方法是我进行的一次失败的尝试。
class Meal(models.Model):
diners = models.ManyToManyField(User, through='Attendance', related_name="eating", blank=True)
def diners(self):
return self.eating
你能帮上忙吗?谢谢
发布于 2012-03-29 10:42:06
按照ilvar的建议,删除diners方法并使用self.diners.all()在Meal方法中获取对象。related_name='eating‘用于获取用户参加的用餐,反之。
发布于 2013-01-18 16:53:17
我来到这个页面时遇到了与OP相同的问题。我最终只是在我的管理模型中删除了对list_display
中ManyToMany字段的引用。结果:在该应用程序的管理页面上的ManyToMany字段名称下,出现了一个格式良好的多选列表小部件,其中显示了我的ManyToMany关系的可能值。
因此,解决方案是删除list_display
中的引用,让Django处理它。这是Django 1.4.3的版本。
https://stackoverflow.com/questions/9917880
复制相似问题