*I want to count the number of companies in companytype model and show that 
in pie chart. The count should by the name field in company table.*
eg: If Company Type is medical and there are 4 companies in that category 
then i want to show its count on pie chart.

*models.py*
class CompanyType(models.Model): 
    company_type = models.CharField(max_length=100) 
     is_active = models.BooleanField(default=True) 

 class Company(models.Model): 
      name = models.CharField(max_length=100) 
      address = models.TextField() 
      company_type = 
models.ForeignKey(CompanyType,on_delete=models.CASCADE)              
 is_active = models.BooleanField(default=True) 

*views.py*

def index(request): 
      labels = [] 
      data = []

     queryset = 
Company.objects.values('company_type__company_type').annotate(company_type_sum=Count('name')).order_by('-company_type_sum')
     for entry in queryset:
             labels.append(entry['company_type__company_type'])  
             data.append(entry['company_type_sum'])
      context = { 'labels':labels, 'data':data, } 
      return render(request,'index.html',context)

*I have taken Chartjs code from index.html file if there is something 
wrong.*

*index.html*


<script> 

var ctx = document.getElementById('myChart').getContext('2d'); 

var myChart = new Chart(ctx, {

  type: 'pie', 

  data: { 

           labels: [data.labels], 

  datasets: [{ 

  label: 'Companies in Particular Section', 

  data: [data.data], 

  backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 
'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 
0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 
'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 
'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ],

  borderWidth: 1 }] }, 

  options: 

{ scales: { 

  y: { beginAtZero: true

} } } }); 

</script>


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/8f36edd0-2042-404c-a07f-40c0e7f601dan%40googlegroups.com.

Reply via email to