我有3个待办事项列表应用程序的模型:
class Topic(models.model)
user = models.ForeignKey(UserProfile)
lists = models.ManyToManyField(List)
class List(models.model)
activities = models.ManyToManyField(Activity)
class Activity(models.model)
activity = models.CharField(max_length=250)
当用户选择一个主题,然后选择一个显示该列表上所有活动的列表(子类别)时,这是有意义的。
但我如何有效地查询
我需要在查询中使用select_related()
,而不是在相关对象中循环,还是有一种更有效的方法不循环?(或者我应该改变我的模型?)
给他们起相关的名字(更容易管理):
然后你可以做一些很棒的事情:
便利信息:https://docs.djangoproject.com/en/dev/ref/models/relations/
使用双下划线语法跨关系查询。
用户的所有活动:
用户针对某个主题的所有活动:
(请注意,当前主题仅适用于单个用户。不确定这是不是你的意思:你描述了一个用户选择一个主题,这在这里是不可能发生的。从Topic到UserProfile的链接可能会走向另一个方向,或者是一个manytomy。)
相关问题 更多 >
编程相关推荐