我有一个带有模型条目和类别的基本博客应用程序。条目中的字段之一是类别的外键。当用户添加一个条目并选择“保存并添加另一个”时,我希望新表单的类别设置为等于刚刚保存的对象的类别。
我怎样才能做到这一点?
我有一个带有模型条目和类别的基本博客应用程序。条目中的字段之一是类别的外键。当用户添加一个条目并选择“保存并添加另一个”时,我希望新表单的类别设置为等于刚刚保存的对象的类别。
我怎样才能做到这一点?
在这个问题的一些帮助下想通了。诀窍是修改response_add
和response_change
方法ModelAdmin
class EntryAdmin(admin.ModelAdmin):
...
def response_add(self, request, obj, post_url_continue=None):
if request.POST.has_key('_addanother'):
url = reverse("admin:blog_entry_add")
category_id = request.POST['category']
qs = '?category=%s' % category_id
return HttpResponseRedirect(''.join((url, qs)))
else:
return HttpResponseRedirect(reverse("admin:blog_entry_changelist"))
def response_change(self, request, obj, post_url_continue=None):
if request.POST.has_key('_addanother'):
url = reverse("admin:blog_entry_add")
category_id = request.POST['category']
qs = '?category=%s' % category_id
return HttpResponseRedirect(''.join((url, qs)))
else:
return HttpResponseRedirect(reverse("admin:blog_entry_changelist"))
对于 Python 3,替换
if request.POST.has_key('_addanother'):
和
if '_addanother' in request.POST: