рдирдорд╕реНрдХрд╛рд░ред рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рдПрдХреНрд╢рди рдкреАрд╕! рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреГрд╖реНрда рдкрд░ рднреЗрдЬ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдЗрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдПрдХ рдЙрджрд╛рд╣рд░рдг? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░, рд╕рд╛рдорд╛рдиреЛрдВ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЖрдк рд╕рд╛рдорд╛рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдПрдХ рд╕реЗрдХреНрд╢рди (рдХрд┐рддрд╛рдмреЛрдВ) рд╕реЗ рджреВрд╕рд░реЗ (рддрдХрдиреАрдХреА рдкреБрд╕реНрддрдХреЛрдВ) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, "рджреВрд╕рд░реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг" рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдордзреНрдпрд╡рд░реНрддреА рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдХреНрдпрд╛ рдпрд╣ рдорд╣рд╛рди рд╣реИ? рдЖрдЗрдпреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рддреЗ рд╣реИрдВред
рд╣рдо рдлреЙрд░реНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
class ChangeCategoryForm(forms.Form): _selected_action = forms.CharField(widget=forms.MultipleHiddenInput) category = forms.ModelChoiceField(queryset=Category.objects.all(), label=u' ')
рд░рд╣рд╕реНрдпрдордп рдХреНрд╖реЗрддреНрд░
_select_action , рд╣рд╛рдБ? рдЗрд╕рдореЗрдВ рдЪрдпрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрдИрдбреА рд╣реЛрдЧреАред рдлрд┐рд░ Django рдЙрдиреНрд╣реЗрдВ POST рдЕрдиреБрд░реЛрдз рд╕реЗ рдЙрдард╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХреНрд╡реЗрд░реА рдмрдирд╛ рджреЗрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ (рдиреАрдЪреЗ рдХреЛрдб рджреЗрдЦреЗрдВ)ред
рд╣рдорд╛рд░реА рдХреНрд░рд┐рдпрд╛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдПрдХ рд╡рд┐рдзрд┐ рд╣реИред рдЪрд▓рд┐рдП рдЗрд╕реЗ Move_to_category рдХрд╣рддреЗ рд╣реИрдВред
def move_to_category(modeladmin, request, queryset): form = None if 'apply' in request.POST: form = ChangeCategoryForm(request.POST) if form.is_valid(): category = form.cleaned_data['category'] count = 0 for item in queryset: item.category = category item.save() count += 1 modeladmin.message_user(request, " %s %d ." % (category, count)) return HttpResponseRedirect(request.get_full_path()) if not form: form = ChangeCategoryForm(initial={'_selected_action': request.POST.getlist(admin.ACTION_CHECKBOX_NAME)}) return render(request, 'catalog/move_to_category.html', {'items': queryset,'form': form, 'title':u' '}) move_to_category.short_description = u" "
рд╣рдо ProductAdmin рд╡рд░реНрдЧ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ:
actions = [move_to_category,]
рдФрд░ рдпрд╣ рд╕рдм рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдВ
{% extends "admin/base_site.html" %} {% block content %} <form action="" method="post">{% csrf_token %} {{ form }} <p> :</p> <ul>{{ items|unordered_list }}</ul> <input type="hidden" name="action" value="move_to_category" /> <input type="submit" name="apply" value="" /> </form> {% endblock %}
рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЗрд╕ рддрд░рд╣, рдЖрдк рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдЖрд╡рд╢реНрдпрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдПрдХ рд╡рд░реНрдХрд┐рдВрдЧ рдбреНрд░рд╛рдлреНрдЯ рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред




рд╕реМрднрд╛рдЧреНрдп рд╣реИ