2017-11-05 1 views
0

私はDjango Signals to Trigger Codeを使用しています。ユーザーが作成されると、別のモデルクラスに追加データを保存していますが、トリガーされていますが、追加のデータオブジェクトページにリダイレクトされません。django-admin:1つのオブジェクトを保存した後にURLにリダイレクトする方法は?

は、ここに私のmodels.py

ここ
from django.db import models 
from django.core.urlresolvers import reverse 
from django.contrib.auth.models import User 
from django.db.models.signals import post_save 

class Customers(models.Model): 
    user = models.OneToOneField(User) 
    business_name = models.CharField(max_length=250) 
    address = models.CharField(max_length=500) 
    area = models.CharField(max_length=250) 
    city = models.CharField(max_length=250) 
    state = models.CharField(max_length=250) 
    pincode = models.IntegerField(default='0') 
    phone = models.IntegerField(default='0') 
    mobile = models.IntegerField(default='0') 

    def create_customer(sender, **kwargs): 
     if kwargs['created']: 
      customer_profile = Customers.objects.create(user=kwargs['instance']) 

    post_save.connect(create_customer, sender=User) 

と私の答えを探してadmin.py疲れ

from django.contrib import admin 
from .models import Customers 
from django.shortcuts import redirect 

admin.site.register(Customers) 

class Customers(admin.ModelAdmin): 
    def response_add(self, request, obj, post_url_continue=None): 
     return redirect('/admin/app/customers/add/') 

    def response_change(request, obj): 
     return redirect('/admin/app/customers/add/') 

何もあり、ここで私を修正してください作品です。

答えて

0

管理者の設定を登録しているように見えません。詳細は、Django docs on the register decoratorを参照してください。構文は@admin.register(<model>)で機能を装飾するか、手動でモデル管理設定を登録する場合はadmin.site.register(<model>, <model admin>)です。

class Customers(admin.ModelAdmin):class CustomersAdmin(admin.ModelAdmin):に変更するか、名前空間の衝突を停止することをお勧めします。

from django.contrib import admin 
from .models import Customers 
from django.shortcuts import redirect 


@admin.register(Customers) 
class CustomersAdmin(admin.ModelAdmin): 
    def response_add(self, request, obj, post_url_continue=None): 
     return redirect('/admin/app/customers/add/') 

    def response_change(request, obj): 
     return redirect('/admin/app/customers/add/') 

以下の例を参照してください。

関連する問題