Спасибо Юджи Томите за очень подробный ответ, мое окончательное решение получено очень близко от его предложения, но оно настолько отличается, что я решил опубликовать его как другой вариант, если кто-то столкнется с той же ситуацией, в которой я нахожусь.
Сначала в мой mysite.apps.feedback.models
файл я положил
class Feedback( models.Model ):
subject = models.TextField( max_length=100 )
body = models.TextField( max_length=100 )
# Some other stuff here...
# Finally I used the suggestion above and created a field which I
# use to label each entry as belonging to a specific instance of the app.
instance_name = models.TextField( max_length=20 )
В мой mysite.apps.feedback.views
файл я положил
def save_message( request, instance_name ):
if request.method == 'POST':
form = FeedbackFrom( request.POST )
if form.is_valid():
form.instance.instance_name = instance_name
form.save()
return render("feedback/thanks.html")
else:
return render("feedback/submit.html", {'form':form })
else:
return render("feedback/submit.html",{'form':FeedbackForm()})
@user_passes_test( is_staff )
def all_messages( request, instance_name ):
messages = Feedback.objects.filter( instance_name = instance_name )
return render("feedback/view_all.html",{'feedback':messages} )
В мой mysite.apps.dev.urls
файл, который я положил
url(r'^feedback/', include('mysite.apps.feedback.urls'),
{'instance_name':'dev'}),
В моем файле mysite.apps.support.urls
я поместил
url(r'^feedback/', include('mysite.apps.feedback.urls'),
{'instance_name':'support'}),
Это разделит сообщения обратной связи по экземпляру приложения.Обратите внимание, что мой реальный код более сложный, но этого должно быть достаточно для тех, у кого похожая проблема, чтобы довольно быстро найти решение и запустить его.Надеюсь, что это полезно для любого в подобной ситуации.Еще раз спасибо Yuji Tomita за предложения, на которых основано это решение.