Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django Admin pagination not working properly
In my Django admin I want to apply pagination. but pagination is not working properly as when I am going on second page or any other page the 2 is not highlighted in the pagination or for any number. Further if I am having 2 pages i am not being able to go on second page and in URL it shows e=1 but if I am having 3 pages it leaves the second page and goes on 3rd page on clicking 2 and on clicking 3 it goes on 1st page again and in URL it shows e=1. Please let me know how to fix this My pagination.html {% load admin_list %} {% load i18n %} {% if pagination_required %} <ul class="pagination"> {% if cl.has_previous %} <li><a href="?p={{ cl.previous_page_number }}">&laquo;</a></li> {% else %} <li class="disabled"><span>&laquo;</span></li> {% endif %} {% for i in cl.paginator.page_range %} {% if cl.number == i %} <li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li> {% else %} <li><a href="?p={{ i }}">{{ i }}</a></li> {% endif %} {% endfor %} {% if cl.has_next %} <li><a href="?p={{ cl.next_page_number }}">&raquo;</a></li> {% else %} <li class="disabled"><span>&raquo;</span></li> {% endif %} </ul> <p style="float:right; margin:10px;">{{ cl.paginator.count }} Projects</p> {% endif %} -
Is there a way to have multiple instances of a model embedded into a single model field in Django?
I know the foreign key concept,Djongo Array field , however is there an alternative? The issue with the foreign key concept is that I would need to make multiple hits to the database and the issue with Array field is the lack of information and the errors emerging without a known solution. What I would like to do basically is in fact add multiple instances of a model say comments to a single field in another model but I would like to embed it rather than creating a new table for comments which I tried using an abstract model however it did not work out. I would like to know any alternative solution. -
Cannot delete entries from database on django
On admin page , I created a delete entries button . I clicked and it asked me yes or no .I click yes but no effect . (The whole system designed with Django ) How to solve ? On A.html <button class="btn btn-danger btn-sm" style = "padding: 2px 4px;" id="delete"onclick = "Del('{{i.id}}')">Delete</button> <script> function Del(id){ console.log("delet*********") swal({ title: "Are you sure?", text: "To Delete this Entry!", icon: "warning", buttons: ["No", "Yes"], closeOnClickOutside: false, dangerMode: true, }) .then((willDelete) => { if (willDelete) { $.ajax({ method : "POST", url : "/delete_lost_item/", data : { 'id':id, }, success : function(response){ if (response == "success"){ swal("Entry has been Deleted..!", { icon: "success", button: "Ok", closeOnClickOutside: false, }).then(function() { location.reload(); }); } } }) } }); } </script> on Table Lost_Item class Lost_Item_table(admin.ModelAdmin): list_display = ['id','lebal','title','brand','species'...] URL.PY url(r'^delete_lost_item/$',delete_lost_item, name='delete_lost_item'), -
Django calling URL from a webserver [duplicate]
I am a beginner to Django and flask here I am creating a URL using POST method in Flask now my need is to invoke that URL in my Django project flask.py from flask import Flask, jsonify, request import math app = Flask(__name__) @app.route("/index", methods=["POST"]) def index(): data = request.get_json() n = data["n"] a = [] r = [] d = [] b = int(a1) c = int(a1) + 1 for i in range(c): r.append(i) com = math.factorial(b) / (math.factorial(r[i]) * math.factorial(b - r[i])) a.append(com) for i in enumerate(a): d.append(i) return jsonify({"out": d}) if __name__ == "__main__": app.run(debug=True) Is there any I can call this URL in Django project. -
How would i filter out approvals and display them under the concerned department?
I am trying to display the approvals under HOD which was made by its department employee For example: when an accounts department HOD login logs in under the approval section only the approval request is made by an employee of the accounts department only. My models : class HOD(models.Model): id = models.AutoField(primary_key=True) # hod_name = models.CharField(max_length=100) emp_no = models.CharField(max_length=50,unique=True,default=0) dept_id = models.ForeignKey(Department, on_delete=models.DO_NOTHING, default=1) admin = models.OneToOneField(CustomUser, on_delete = models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = models.Manager() class Employee(models.Model): id = models.AutoField(primary_key=True) admin = models.OneToOneField(CustomUser, on_delete = models.CASCADE) emp_no = models.CharField(max_length=50,unique=True,default='NULL') dept_id = models.ForeignKey(Department, on_delete=models.DO_NOTHING, default=1) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = models.Manager() class ApprovalReportEmployee(models.Model): id = models.AutoField(primary_key=True) employee_id = models.ForeignKey(Employee, on_delete=models.CASCADE) approval_date = models.CharField(max_length=255) approval_message = models.TextField() approval_status = models.IntegerField(default=0) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = models.Manager() Under admin login, I am able to see all the details of approval made by anyone let it be an employee or hod Please Help Someone I am new to Django. is it possible with the Django ORM or we have to use raw SQL -
How can I handle the "Django - Database error: no such table" error?
I'm pretty new to django and I'm stuck at the problem with models. Here is my users app's models file: from django.db import models from django.contrib.auth.models import User from django.core.validators import MinValueValidator, MaxValueValidator from django.urls import reverse from PIL import Image class Schedule(models.Model): title = models.CharField(max_length=150) context = models.TextField() class Input(models.Model): DAYS_OF_FITNESS = [ ('month', '30'), ('month_2', '60'), ('month_3', '90'), ] weight = models.PositiveIntegerField(validators=[MinValueValidator(40)]) age = models.PositiveIntegerField(validators=[MinValueValidator(12)]) days = models.CharField( max_length=20, choices=DAYS_OF_FITNESS, default='30') athlete = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE) schedule = models.ForeignKey(Schedule, on_delete=models.CASCADE) I'm trying to link each user with its input using OneToOneField and Schedule is linked as a foreign key to Input model But when I'm trying to migrate models, I'm getting this error: return Database.Cursor.execute(self, query, params) django.db.utils.OperationalError: no such table: users_input I checked that Both models are in django settings, and I migrated them. BTW, I'm using signals to save inputs automatically, (just for note if it helps) -
How to order by a non-model remote field like this?
I have a table like this: class SystemPushLog(models.Model): push_channel = models.CharField(choices=PUSH_CHANNEL_CHOICES, max_length=10) status = models.CharField(choices=STATUS_CHOICES, default=SystemPushStatus.WAITING.name, max_length=10) failure_reason = models.CharField(max_length=50) times = models.SmallIntegerField(default=0) create_at = models.DateTimeField(auto_now_add=True) msg_id = models.CharField(max_length=20, unique=True, null=True) user_id = models.IntegerField(null=True) user_phone = models.CharField(max_length=15, null=True) As u can see in the model above, user_id is a Integer field, not a foreign key. Cuz user infos in out system are retrieved from gRPC calls. Now, I wanna to order the queryset by last_login which is a field in user info. I have tried with annotate like this in get_queryset: def get_queryset(self): queryset = super().get_queryset().annotate( last_login=self.__class__.get_user_last_login(F('user_id')) ) And below is get_user_last_login: @staticmethod def get_user_last_login(user_id): print('user_id', user_id) # <<< user_id F(user_id) print('type of user_id', type(user_id)) # <<< type of user_id <class 'django.db.models.expressions.F'> # retrieving user info from rpc call. user = do_user_actions({'id': user_id}) return user.last_login As u can see, F('user_id') passed to the func is a type of django.db.models.expressions.F instead of a actual user_id. Maybe annotate can just take some simple expressions like annotate(off_price=F('original_price') - F('discount_price')). So, how should I implement this remote field ordering? -
How to add new serializer field along with the all model fields?
Here I have a model which has so many fields. So I want to use __all__ to return all the fields. But now I needed to add new field image_url so I customize a serializer like this but now with this I need to put all the model fields in the Meta class like this fields=['name','..', 'image_url'] in order to return the image_url. Is there any way to return image_url without specifying it in the Meta.fields ? I mean I don't want to write all the model fields in the Meta.fields (since the fields are too many) and want to return the image_url also. serializers.py class MySerializer(ModelSerializer): image_url = serializers.SerializerMethodField('get_image_url') class Meta: model = News fields = '__all__' def get_image_url(self, obj): return obj.image.url -
Remove results with field==0 from serializer response
I use ModelSerializer to return serialized data of a model: class LepAppDzialWithBazaSerializer(serializers.ModelSerializer): dzial_liczba_pytan = serializers.SerializerMethodField('_dzial_liczba_pytan') def _dzial_liczba_pytan(self, obj): pytania_count = LepAppPytanie.objects.filter(dzial=dzial_obj).count() return pytania_count class Meta: model = LepAppDzial fields = ["id", "dzial", "dzial_liczba_pytan"] What I get write now is here: [{ "dzial": "orzecznictwo lekarskie", "dzial_liczba_pytan": 0, "id": 9 }, { "dzial": "zdrowie publiczne", "dzial_liczba_pytan": 1, "id": 10 } ] I want to remove objects with dzial_liczba_pytan == 0 from serialization [ { "dzial": "zdrowie publiczne", "dzial_liczba_pytan": 1, "id": 10 } ] Thank you for your help. -
Create nested/cascading dropdown using django
I am trying to create multiple cascading dropdowns in django. I referred to this DJANGO_2WAY_NESTED_DROPDOWNS but when I tested the code for more than 2 dropdown the code does not works. Any suggestion would help. Cascading Dropdown Image -
UpdateView in django
i am trying to have attendance for student by the teacher, everything is working fine until i want to edit(update) this Student_Attendence model, i am not able to update this model. what if teacher want to update that attendance again, so need to have that i have list of subject and i can check who were(student) in that class(subject). models.py class Subject_Attendence(models.Model): # i am able to update this one, which i dont want to update lecturer = models.ForeignKey(Lecturer, on_delete=models.SET_NULL, blank=True, null=True) department = models.ForeignKey(to='sis.Department', on_delete=models.SET_NULL, blank=True, null=True) semester =models.ForeignKey(to='sis.Semester', on_delete=models.SET_NULL, blank=True, null=True) subject = models.ForeignKey(to='sis.Subject', on_delete=models.SET_NULL, blank=True, null=True) date = models.DateField(blank=True, null=True) def __str__(self): return str(self.subject) def get_absolute_url(self): return reverse('lecturer:student_attendance', kwargs={ 'pk': self.pk }) def get_update_url(self): return reverse('lecturer:subject_attendance_edit', kwargs={ 'pk': self.pk }) class Student_Attendence(models.Model): # want to update this model by the teacher lecturer = models.ForeignKey(Lecturer, on_delete=models.SET_NULL, blank=True, null=True) subject = models.ForeignKey(Subject_Attendence, related_name='subject_attendance', on_delete=models.SET_NULL, blank=True, null=True) student = models.ForeignKey(to='sis.Student', on_delete=models.SET_NULL, blank=True, null=True) date = models.DateField(blank=True, null=True) attend = models.BooleanField(default=False) def __str__(self): return str(self.student) def get_absolute_url(self): return reverse('lecturer:student_attendence_detail', kwargs={ 'pk': self.pk }) def get_update_url(self): return reverse('lecturer:student_attendance_edit', kwargs={ 'pk': self.pk }) views.py class Student_Attendance(generic.ListView): model = Subject_Attendence template_name = 'attendence.html' context_object_name = 'queryset' def get_context_data(self, *args, **kwargs): profile = Lecturer.objects.all() semester_course … -
How can I make my ReportLab table data wrap when data is sent from Django views?
I've been trying to get my cell strings to wrap, the table gets too wide and out of screen. I know that using Paragraph automatically wraps text, but the problem is that I'm sending my data from multiple views so the table width and number of columns varies. I've gotten errors like 'list' object has no attribute 'split', 'tuple' object has no attribute 'split' and even 'Paragraph' object is not iterable. class ComprasPDF(View): def get(self, request, *args, **kwargs): arr= [( o.unidad_inventario.control_stock.almacen, o.unidad_inventario.control_stock.producto, o.proveedor, o.cantidad, o.costo_unidad, ) for o in CompraProducto.objects.all()] data = { 'nombre':'COMPRAS', 'headings':('ALMACEN', 'PRODUCTO', 'PROVEEDOR','CANTIDAD','COSTO POR UNIDAD'), 'query': arr } pdf = generar_pdf(request,data) return HttpResponse(pdf, content_type='application/pdf') And using it on ReportLab like this. As you see, I'm using the data I'm sending directly and I don't know how to apply paragraphs styles to the query data. buff = BytesIO() doc = SimpleDocTemplate(buff,pagesize=A4) story = [] headings = data['headings'] alldata = data['query'] t = Table([headings] + alldata*10) t.setStyle(TableStyle( [ ('GRID', (0, 0), (-1, -1), 1, colors.black), ('BACKGROUND', (0, 0), (-1, 0), colors.gray) ] )) story = [Spacer(0,25),t] doc.build(story, onFirstPage=primera_pagina, onLaterPages=add_numero, ) And the table looks like this. Not even assigning colWidths make them wrap, they just overlap. I need … -
'mod_wsgi-express' is not recognized as an internal or external command, operable program or batch file
I am trying to host the django 3.1(python3.8) app on window 10 with WAMP64 and mod_wsgi API.(Yes its nightmare) Am able to preform the following command sucessfully. 1- set "MOD_WSGI_APACHE_ROOTDIR=C:\wamp64\bin\apache\apache2.4.46" 2- pip install mod_wsgi And the next command which is "mod_wsgi-express module-config" is throwing below error. 'mod_wsgi-express' is not recognized as an internal or external command, operable program or batch file. Please help me with, what am doing wrong or am using mod_wsgi is not the right choice for deploying django app. -
Displaying drop down values based on selection of another drop down using django
class UnassignedShiftForm(forms.ModelForm): date = forms.DateField(required=True, widget=forms.DateInput(attrs= { 'class':'datepicker' })) def __init__(self, *args, **kwargs): self.client = kwargs.pop('client') super(UnassignedForm, self).__init__(*args, **kwargs) self.fields['booked_with'].queryset = Company.objects.filter(client=self.client) self.fields['location'].queryset = ProjectIdentities.objects.filter(client=self.client, is_deleted=False) self.fields['date'].widget.attrs\ .update({ 'placeholder': 'Select Date', 'class': 'input-class_name' }) ward_list =[] location = ProjectIdentities.objects.filter(client=self.client, is_deleted=False) wards = Ward.objects.filter(corporate_identity__client=self.client) for identity in location: if identity.id in wards: ward = identity.id for q in wards: ward_list.append({"identity":q.corporate_identity,"ward":q}) class Meta: model = Unassigned fields = ['date','additional_days', 'positions', 'start_time', 'banding', 'qualification_speciality', 'location','ward', 'charge_rate'] DJANGO VIEW: class UnAssignedShiftCreateView(CreateView): template_name = 'unassigned_form.django.html' form_class = UnassignedShiftForm context_object_name = "shift" model = UnassignedShift def get_form_kwargs(self): kwargs = super(UnAssignedShiftCreateView, self).get_form_kwargs() kwargs["client"] = self.request.user.client return kwargs def form_valid(self, form): self.client = self.request.user.client try: shift_order = UnassignedShift.objects.filter(client=self.client).\ order_by('-id')[0].booking_order_number order_number = int(shift_order.split('-')[1]) order_number = 'US-'+str(order_number + 1) except: order_number = 'US-1' self.object = form.save(commit=False) self.object.client = self.request.user.client self.object.created_by = self.request.user self.object.booking_order_number = order_number addtional_days = form.cleaned_data['additional_days'] date = form.cleaned_data['date'] for i in range(0, int(addtional_days) + 1): try: shift_order = UnassignedShift.objects.filter(client=self.client).\ order_by('-id')[0].shift_number shift_number = int(shift_order.split('-')[1]) shift_number = 'UNS-'+str(shift_number + 1) except: shift_number = 'UNS-1' self.object.pk = None if i == 0: days = 0 else: days = 1 date = date + datetime.timedelta(days=days) self.object.client = self.request.user.client self.object.created_by = self.request.user self.object.booking_order_number = order_number self.object.shift_number = shift_number self.object.date = date try: … -
Can I use Django and Django Rest Framework together?
I am pretty new to Django and I have a question which I can't find an answer and feel confused about it. I have web based system where only admin can create users. I need to use JSON Web Token for Cross Login but the only way I found to implement this is with Django REST Framework. My current app is only Django based right now. My question is can I use both Django and Django REST Framework together so I can make my JWT for this part, but stayed with Django where is possible? -
Celery response queue is consuming but not acknowledging
I have a django application that has a rest endpoint which puts tasks in a queue and waits for the result through a callback. Unfortunately this leads to the callback function being executed, but the task is never acknowledged or consumed from rabbit. Means it stays in the queue even though the callback method finishes. The response that remains in the queue looks like after consuming (but also before): This is the code in the rest-framework: def post(self, request): individual_request = {'dummy': 'data'} task_id = my_task.apply_async( kwargs=individual_request, link=my_task_success.s(individual_request), link_error=my_task_error.s(individual_request), ) In another part of my code I have the function my_task registered as a task with: @task(queue='queue_name', name='task_name', soft_time_limit=10800) def my_task(dummy=None): ... do stuff ... return {'success':True} In the same code file I have the response tasks: @task(bind=True, queue=celery_config.DATA_EXTRACT_QUEUE) def my_task_success(self, result, individual_request): LOGGER.info( 'Successfully finished task' ) @task(queue=celery_config.DATA_EXTRACT_QUEUE) def my_task_error(context, error, stacktrace, individual_request): LOGGER.error( 'Failed to execute task' ) -
How to "login" in Django Rest Framewrok
I recently trying django. So, i want to create an login (API) here is what i do from django.db import models from django.contrib.auth.models import AbstractBaseUser class User(AbstractBaseUser): id = models.AutoField(primary_key=True) email = models.CharField(max_length=100, unique=True) password = models.CharField(max_length=200) register_date = models.DateTimeField(auto_now_add=True, blank=True) USERNAME_FIELD = 'email' class Meta: db_table = "user" and here is my view class Login(KnoxLoginView): permission_classes = (permissions.AllowAny,) def post(self, request, format=None): serializer = AuthTokenSerializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.validated_data['user'] login(request, user) return super(Login, self).post(request, format=None) My UserSerializer from api.models import User from rest_framework import serializers class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields =['id','email','password'] extra_kwargs = {'password': {'write_only': True}} def create(self, validated_data): user = User( email=validated_data['email'], ) user.set_password(validated_data['password']) user.save() return user There is no problem when i create new user. But when i try to login i get this { "non_field_errors": [ "Unable to log in with provided credentials." ] } i'm 100% sure the email and password is correct. Did i miss something ? -
When Django deletes users, why are avatars deleted together?
I created a user model, the user has a default avatar. class User(AbstractUser, BaseModel): avator = models.ImageField(upload_to='user/avator/', default='user/avator/default_avator.png') I put the default avatar here When the user is deleted, i found that the default avatar will also be taken away together!! delete code: user.delete() I want to know how to make Django not delete the Avatar together when deleting the user, hoping to add a judgment or something. -
trying to access Django Admin docs raises no reverse match error
I'm trying to generate docs for my Admin so I installed docutils and added the code: # installed apps [ 'jazzmin', 'admin_numeric_filter', 'django.contrib.admindocs', 'django.contrib.admin', # rest of installed apps... ] # in my urls url(r'^admin/doc/', include('django.contrib.admindocs.urls')), But I'm getting the following error when trying to access the docs: NoReverseMatch at /admin/doc/ Reverse for 'app_list' with keyword arguments '{'app_label': 'auth'}' not found. 1 pattern(s) tried: ['admin/(?P<app_label>consumer_api|users|authtoken)/$'] -
How to fix python manage.py giving no response
When I run the command python manage.py runserver I have installed python 3.9.0 and django 3.2.10 -
Unable to get CREATE modal when creating new user using DJANGO
i got a problem when creating new user using ajax crud in django . The program allows me to edit and delete the table data but shows INTERNAL SERVER ERROR when click on to ADD NEW . The below code i use in IndexPage.html to call all the product list <iframe id="encoder_iframe" height=75% width="50%" src='{% url 'product_list' %}'></iframe> then in product list i have a button that call product create . <button type="button" class="btn btn-primary js-create-product" data-url="{% url 'product_create' %}"> this button will call the productcreate file <form method="post" action="{% url 'product_create' %}" class="js-product-create-form"> {% csrf_token %} <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true"></span> </button> <h4 class="modal-title">Create</h4> </div> <div class="modal-body"> {% include 'includes/partial_product_form.html' %} </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Create Customer</button> </div> </form> and partial_product_form.html is below {% load widget_tweaks %} {% for field in form %} <div class="form-group{% if field.errors %} has-error{% endif %}"> <label for="{{ field.id_for_label }}">{{ field.label }}</label> {% render_field field class="form-control" %} {% for error in field.errors %} <p class="help-block">{{ error }}</p> {% endfor %} </div> {% endfor %} So when i click on new customer the page will be like this before click on New Customer button … -
How to offset timezone on the Back-End using Django?
I would like to ask for support for this problem. Basically, I am working on an app in which it will generate values based on the current month, date, and year let's say Company ID based on the user's preference while leaving the TZ on settings.py untouched. I live in the timezone 'Asia/Manila', however, I have read some devs discussing that setting the Django TZ other than 'UTC' is problematic so I'm leaving it as is. But, my app requires users to save generated Company ID based on their own user-configured timezone. I know it's easy to reflect the user's timezone on the frontend via a template, however, I would like my to do something like that as well on the back-end and I'm not really sure how. I have already read the documentation many times but I still can't it. I want it to be as 'Django' as possible. -
Django doesn't see the 'templates' and 'static' folders
I am coming from Django 1.x of which everything worked fine in regards of the said problem. I tried starting a new project in Django 3.x the same way I start projects on the older version. The problem I noticed is in regards of the templates and static directories. After I set them up, Django doesn't seem to "detect" them in some way and my IDE (PyCharm) doesn't suggest them when I point something on those directories. I use the same IDE on both the old and new versions of Django. Here is the structure of my project: myproj |_ myapp |_ myproj |_ templates |_myapp |_ base.html |_ index.html | |_ static In my settings.py: import os BASE_DIR = Path(__file__).resolve().parent.parent TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [TEMPLATE_DIR], 'APP_DIRS': True, Now, when I use {% extends "app/base.html" %} on my index.html, it doesn't 'suggest' the base.html (of which in older versions of Django it does suggest it) so something must be wrong. Here's an example: But placing myapp/base.html, it would still work. Compared to an older project of mine which uses Django 1.x: Not just in the template files but almost everywhere in Django like … -
Python cursor how do I replace with a string and maintain quotation marks in a SQL que?y
I'm using django. I'm having trouble replacing the email string in the query. It needs quotations around it since it compares strings. I've tried using parameters on the execute function but that did not work: cursor.execute("SELECT password,id FROM account WHERE email = %(mail)s", {'mail': userEmail}) I get a DatabaseError at / ORA-00936: missing expression q = "SELECT password,id from account WHERE email = '%s'" % userEmail cursor.execute(q) This produces a correct SQL query with the quotations. But I've heard this is a bad idea due to sql injection. Regardless, I'm getting a ORA-00933: SQL command not properly ended error when I did this. -
Django Running Balance / Cumulative Balance
I have a transaction model with a function to calculate the balance(running balance/cumulative balance), but the balance output is returning as a Queryset. <QuerySet [{'id': 1, 'cumsum': -9.0}, {'id': 2, 'cumsum': -16.0},{'id': 3, 'cumsum': -21.0}]> how do I fix my function so that the balance only shows the numbers such that Oct 16 is -9.00, Oct 18 is -16.00, then Oct 20 is -21.00. Thank you in advance. model.py class Transaction(models.Model): transaction_date = models.DateField() account_nickname = models.ForeignKey(Accounts, on_delete=models.CASCADE) amount = models.FloatField() @property def balance(self): return Transaction.objects.annotate(cumsum=Func(Sum('amount'),template='%(expressions)s OVER (ORDER BY %(order_by)s)',order_by="id")).values('id', 'cumsum').order_by('id', 'cumsum') views.py def index(request): all_transactions = Transaction.objects.all() context = { "transactions": all_transactions } return render(request,'pages/index.html', context) index.html {% for each_transaction in transactions %} <tr> <td>{{each_transaction.transaction_date}}</td> <td>{{each_transaction.account_nickname}}</td> <td>{{each_transaction.amount}}</td> <td>{{each_transaction.balance}}</td> </tr> {% endfor %} Output: