[问题] Django admin的问题

楼主: kanako (我是香民)   2014-08-29 09:26:56
我正在用Django admin制作一个编辑数据库内容的接口
目前已有一个能使用的接口,想要进一步改进
我的问题是我放的储存并前进至下一笔按钮只能在全部资料中前进一笔
不能在先以filter筛过的资料群中前进一笔
简化的实例如下
id name  gender
1 甲    男
2 乙    女
3 丙    男
4 丁    女
5 戊    男
admin.py 节录如下
class StudentListFilter1(admin.SimpleListFilter):
title = _(u'性别')
parameter_name = 'gender'
def lookups(self, request, model_admin):
return (
('-', _(u'未定')),
(u'男', _(u'男')),
(u'女', _(u'女')),
)
def queryset(self, request, queryset):
if self.value():
return queryset.filter(usage=self.value())
else:
return queryset
class StudentAdmin(admin.ModelAdmin):
actions = None
save_on_top = True
[中间显示字段设定部分略]
def response_change(self, request, obj):
if request.POST.has_key("_viewnext"):
msg = (_('The %(name)s "%(obj)s" was changed successfully.') %
{'name': force_unicode(obj._meta.verbose_name),
'obj': force_unicode(obj)})
next = obj.__class__.objects.filter(id__gt=obj.id)\
.order_by('id')[:1]
if next:
self.message_user(request, msg)
return HttpResponseRedirect("../%s/" % next[0].pk)
return super(StudentAdmin, self).response_change(request, obj)
现在按下储存并到下一笔只能按照id排序往前进
若我想要默认跟现在一样
若先用StudentListFilter1筛出男学生后
按下钮只在男学生中依id排序前进一笔应该要怎么修改呢?
谢谢大家

Links booklink

Contact Us: admin [ a t ] ucptt.com