Voglio creare una vista personalizzata in admin django che rispecchia un modulo di modifica da un altro modello. Ho ottenuto fino alla creazione di una classe di amministrazione del modello personalizzato, e non so da dove andare. Non riesco a trovare alcun buon esempio per Django 1.8 su come creare una visualizzazione amministrativa personalizzata.Custom Admin View e User Restriction
Django Versione: 1,8
class CustomerProductOrderAdmin(admin.ModelAdmin):
review_template = 'admin/onlineordering/order_template.html'
def get_urls(self):
urls = super(CustomerProductOrderAdmin, self).get_urls()
my_urls = patterns('',
(r'\d+/customer_template/$', self.admin_site.admin_view(self.customer_template)),
)
return my_urls + urls
def customer_template(self, request, id):
product_orders = CustomerProductOrder.objects.get(pk=id)
return render_to_response(self.review_template, {
'quantity': 'Quantity: %s' % product_orders.quantity,
}, context_instance=RequestContext(request))
Ho una tabella dei clienti che appartengono a questa tabella utente.
class Customer(models.Model):
customer = models.ForeignKey(settings.AUTH_USER_MODEL, limit_choices_to={'groups__name': "customers"})
/app/modello/1 #pk = customer.id
il modulo personalizzato avrà questo URL
/app/customform/
Quando l'utente che ha effettuato l'accesso va su/app/customform, non dovrebbe vedere il modulo di modifica da/app/model/1. Non dovrebbero vedere altri utenti cambiare moduli. Inoltre, vorrei limitare l'accesso al modulo personalizzato, a un particolare gruppo di utenti. cioè questo gruppo non può vedere/app/model/ma può vedere/app/customform.