Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修改“Django”;保存并添加另一个";按钮,根据刚刚保存的对象上的字段值设置字段的初始值_Django_Forms_Django Forms_Django Admin - Fatal编程技术网

修改“Django”;保存并添加另一个";按钮,根据刚刚保存的对象上的字段值设置字段的初始值

修改“Django”;保存并添加另一个";按钮,根据刚刚保存的对象上的字段值设置字段的初始值,django,forms,django-forms,django-admin,Django,Forms,Django Forms,Django Admin,我有一个基本的博客应用程序与模型条目和类别。条目中的一个字段是类别的外键。当用户添加条目并选择“保存并添加另一个”时,我希望新表单的类别设置为与刚刚保存的对象的类别相等 我如何才能做到这一点?在来自的帮助下解决了这个问题。诀窍是修改ModelAdmin的response\u add和response\u change方法 class EntryAdmin(admin.ModelAdmin): ... def response_add(self, request, obj, pos

我有一个基本的博客应用程序与模型条目和类别。条目中的一个字段是类别的外键。当用户添加条目并选择“保存并添加另一个”时,我希望新表单的类别设置为与刚刚保存的对象的类别相等


我如何才能做到这一点?

在来自的帮助下解决了这个问题。诀窍是修改
ModelAdmin
response\u add
response\u change
方法

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"))
对于Python3,替换

if request.POST.has_key('_addanother'):

if '_addanother' in request.POST: