Changeset 611686e
- Timestamp:
- 05/01/25 11:33:45 (2 weeks ago)
- Branches:
- master
- Children:
- 4abe330
- Parents:
- 17ed1da
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
music/urls.py
r17ed1da r611686e 10 10 path('track/', views.track_list, name='track_list'), 11 11 path('customer/genres-per-customer', views.genres_per_customer, name='genres_per_customer'), 12 path('customer/invoices-per-customer', views.invoice_per_customer_after_date, name='invoice_per_customer_after_date'), 12 13 path('customer/most-popular-genre-per-customer', views.most_listened_genre_per_customer, name='most_listened_genre_per_customer'), 13 14 path('media-type/percentage', views.media_type_percentage, name='media_type_percentage'), -
music/views.py
r17ed1da r611686e 127 127 data = [{'first_name': row[0], 'last_name': row[1], 'genre': row[2], 'track_count': row[3]} for row in rows] 128 128 129 130 129 return render(request, 'genres_per_customer.html', { 131 130 'customers': customers, … … 133 132 'selected_customer_id': selected_customer_id, 134 133 }) 134 135 136 def invoice_per_customer_after_date(request): 137 customers = Customer.objects.all() 138 selected_customer_id = request.GET.get('customer_id') 139 selected_date = request.GET.get('invoice_date', '2000-01-01') 140 data = [] 141 sum = 0 142 143 if selected_customer_id: 144 if selected_date: 145 query = """ 146 SELECT c.first_name, c.last_name, i.invoice_date::date, i.total 147 FROM customer c 148 JOIN invoice i ON c.customer_id = i.customer_id 149 WHERE c.customer_id = %s AND i.invoice_date > %s 150 ORDER BY i.invoice_date 151 """ 152 with connection.cursor() as cursor: 153 cursor.execute(query, [selected_customer_id, selected_date]) 154 rows = cursor.fetchall() 155 for r in rows: 156 sum += r[3] 157 158 data = [{'first_name': row[0], 'last_name': row[1], 'invoice_date': row[2], 'total': row[3]} for row in 159 rows] 160 else: 161 query = """ 162 SELECT c.first_name, c.last_name, i.invoice_date::date, i.total 163 FROM customer c 164 JOIN invoice i ON c.customer_id = i.customer_id 165 WHERE c.customer_id = %s 166 ORDER BY i.invoice_date 167 """ 168 with connection.cursor() as cursor: 169 cursor.execute(query, [selected_customer_id]) 170 rows = cursor.fetchall() 171 for r in rows: 172 sum += r[3] 173 174 data = [{'first_name': row[0], 'last_name': row[1], 'invoice_date': row[2], 'total': row[3]} 175 for row in 176 rows] 177 178 return render(request, 'invoices_per_customer_after_date.html', { 179 'customers': customers, 180 'total_sum': sum, 181 'data': data, 182 'selected_customer_id': selected_customer_id, 183 }) -
templates/genres_per_customer.html
r17ed1da r611686e 21 21 </form> 22 22 23 <h4>First Name Last Name - Genre - Num of Tracks</h4>24 23 25 24 <ol> 25 <h4>First Name Last Name - Genre - Num of Tracks</h4> 26 26 {% for row in data %} 27 27 <li>
Note:
See TracChangeset
for help on using the changeset viewer.