2015-07-17 22 views
8

başka modelden bir değişiklik formunu aynalar Django admin özel bir görünüm oluşturmak istiyorum. Ben bildiğim kadarıyla bir özel model yönetici sınıfını oluşturma gibi var ve buradan nereye bilmiyorum. Özel bir yönetici görünüm oluşturmak için nasıl Django 1.8 için iyileri örnekler bulamıyorum.Özel Admin ve Kullanıcı Kısıtlama

Django Versiyon: 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)) 

Bu kullanıcı tabloya ait bir müşteri tablosu var.

class Customer(models.Model): 
    customer = models.ForeignKey(settings.AUTH_USER_MODEL, limit_choices_to={'groups__name': "customers"}) 

/app/model/1 #pk = customer.id

özel form bu URL'yi

/app/customform/

olacak Giriş yapmış olan kullanıcı

/app/customform, onlar/app/modele/1'den değişiklik formunu görmemeniz gerekir gider. Diğer kullanıcıların formları değiştirdiğini görmemelidirler. Ayrıca, özel forma, belirli bir kullanıcı grubuna erişimi sınırlamak istiyorum. Yani bu grup/app/model/göremiyor ama/app/customform görebiliyor.

cevap

0

eklemek modeli sınıfının içindeki model.py dosyası anda yönetici sayfasında

için

def version_summery(self,): 
    batch_d= {} 
    fy = {} 

    for br in self.batchresult_set.all(): 
     batch_d[br.name.strip()] = br.__dict__ 

    fy['batch_d'] = batch_d.values() 
    x = render_to_string('admin/results/result_build_summary.html', fy) 

    return x 

urls.py nasıl bulacağını bildiğinden emin bir işlev bağımsız şablonu nasıl ekleneceği için bir örnek şablon 'result_build_summary.html'

ve admin.py içinde

readonly_fields = ('version_summery',) 

fieldsets = (
     ('', { 
      'fields': ('version_summery',), 
     }), 
    ) 
İlgili konular