我有以下代码:
class GroupDepartmentManager(models.Manager):
def get_query_set(self):
return super(GroupDepartmentManager, self).get_query_set().filter(group='1')
class Department(models.Model):
name = models.CharField(max_length=128)
group = models.ForeignKey(Group)
def __str__(self):
return self.name
objects = GroupDepartmentManager()
Run Code Online (Sandbox Code Playgroud)
......它工作正常.唯一的是,我需要更换group='1'用group=(the group specified by group = models.ForeignKey(Group)).我有很长时间试图确定是否需要将该外键传递给类,或者传入get_query_set函数,或者是什么.我知道你可以完成这个group.department_set.filter(group=desired group),但是我正在为管理站点编写这个模型,所以我需要在=符号之后使用变量而不是常量.
这是在我的urls.py中:
group_info = {
'queryset': Group.objects.all(),
'template_object_name': 'groups',
'paginate_by': 25,
}
Run Code Online (Sandbox Code Playgroud)
这是相关的URL:(r'^ groups/$','django.views.generic.list_detail.object_list',group_info),
这是我在模板中的代码:
<div class="pagination">
<span class="step-links">
{% if groups.has_previous %}
<a href="?page={{ groups.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ groups.number }} of {{ groups.paginator.num_pages }}.
</span>
{% if groups.has_next %}
<a href="?page={{ groups.next_page_number }}">next</a>
{% endif %}
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
..但不显示分页信息.我想我正在完成文档中的操作.知道什么是错的吗?
谢谢.