有人可以通过以下示例给我最好的方法...
在一个页面上,我按 ID 加载“组”对象。我还想列出属于该组的所有联系人(带有分页)。
由于分页问题,我正在考虑只运行第二个数据库查询......
在我看来...
group = get_object_or_404(Group, pk=id)
contacts = Contacts.objects.filter(group=x)
但这似乎很浪费,因为我已经知道 Group 为什么要两次访问数据库。
看我的模型。
class GroupManager(models.Manager):
def for_user(self, user):
return self.get_query_set().filter(user=user,)
class Group(models.Model):
name = models.CharField(max_length=60)
modified = models.DateTimeField(null=True, auto_now=True,)
#FK
user = models.ForeignKey(User, related_name="user")
objects = GroupManager()
def get_absolute_url(self):
return reverse('contacts.views.group', args=[str(self.id)])
class Contact(models.Model):
first_name = models.CharField(max_length=60)
last_name = models.CharField(max_length=60)
#FK
group = models.ForeignKey(Group)