Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Incomplete Context in Template due to ManyToManyField
I have a beginners question, I am trying to debug and understand the reasons why my context is not showing in the template. I have followed a tutorial to show PDF invoices in the Django Admin but there seems to be something off with my code which I have been battling for a while. I want help to know what could be wrong with my code. So, to summarize the issue I have Project where there are 3 models: Item, OrderItem and Order. The Order has a Many-to-Many relationship with OrderItem and the OrderItem has a Foreign Key with Item. In the template, I am trying to loop between the Order.Items which is items = models.ManyToManyField(OrderItem) but it is not rendering any data. Here is the models.py class Item(models.Model): title = models.CharField(max_length=100) price = models.FloatField() class OrderItem(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ordered = models.BooleanField(default=False) item = models.ForeignKey(Item, on_delete=models.CASCADE) quantity = models.IntegerField(default=1) variation = models.ManyToManyField(Variation) class Order(models.Model): items = models.ManyToManyField(OrderItem) Here is the views.py @staff_member_required def admin_order_pdf(request, order_id): order = get_object_or_404(Order, id=order_id) html = render_to_string('pdf.html', {'order': order}) response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'filename="order_{}.pdf"'.format(Order.id) weasyprint.HTML(string=html).write_pdf(response) return response here is the url.py path('admin/order/(<order_id>\d+)/pdf/', views.admin_order_pdf, name='admin_order_pdf') Here is the pdf.html template which is only … -
How to send welcome emails when users log in to my website with django?
I want to send emails to my users when they log in for the first time with Python Django. How can I do that? -
Django CSRF cookie not being set inside iframe
Short story, I need my Django site to be used by a bunch third party sites. I was able to get the site to display inside iframes by using django-csp. But whenever I need any user to use a form, the main problem being the login, I get a CSRF verification error that's caused because the csrftoken cookie is not being created when the page is loaded inside an iframe. Also, I suspect any AJAX request made by the site will also fail as they required CSRF validations. I have already tried the following settings: CSRF_TRUSTED_ORIGINS = ['mydomain.com', 'examplethirdparty.com'] CSRF_COOKIE_SAMESITE = None CSRF_COOKIE_SECURE = True It still doesn't work, I have read the Django documentation regarding CSRF and I found nothing else about this matter. I know I can disable CSRF protection but that's not an option for me. I'd greatly appreciate any suggestions to solve this. -
How can I validate data to be posted on a table with reference to the same table?
While creating donation I want to check whether the data with same donor_id exists or not. If data don't exists then create donation else if there is data then get the latest donated date and validate whether the latest donated is greater then 3 months or not (if latest donated date exceeds three month then create donation else display message with donation cannot be made.) Code of models.py from django.db import models GENDER_CHOICES = ( ('M', 'MALE'), ('F', 'FEMALE'), ('O', 'Others'), ) BLOOD_GROUP_CHOICES = ( ('A+', 'A+'), ('A-', 'A-'), ('B+', 'B+'), ('B-', 'B-'), ('O+', 'O+'), ('O-', 'O-'), ('AB+', 'AB+'), ('AB-', 'AB-'), ) class Donor(models.Model): first_name = models.CharField(max_length=20) middle_name = models.CharField(max_length=20, blank=True) last_name = models.CharField(max_length=20) blood_group = models.CharField(choices=BLOOD_GROUP_CHOICES, max_length=3, null=True) gender = models.CharField(choices=GENDER_CHOICES, max_length=1) email = models.EmailField(blank=True) mobile_number = models.CharField(max_length=15) telephone_number = models.CharField(blank=True, max_length=15) date_of_birth = models.DateField() def __str__(self): return self.first_name + ' ' + self.last_name class Donation(models.Model): donor = models.ForeignKey(Donor, related_name='donor_name', on_delete=models.CASCADE) date_of_donation = models.DateField() donation_address = models.CharField(max_length=200) def __str__(self): return self.donor.first_name code of views.py from django.shortcuts import render, redirect from .forms import DonorForm, DonationForm from .models import Donor, Donation from datetime import datetime def donorPage(request): donors = Donor.objects.all() context = {'donor': donors} return render(request, 'donor/donor_page.html', context) def createDonor(request): form … -
How can i use middleware decorator for class-based view in djabgo?
How can i use middleware decorator for classbased view? class APIViewMixin(): apiMiddleware = decorator_from_middleware(APISecretMiddleware) @apiMiddleware def dispatch(*args, **kwargs): return super().dispatch(*args, **kwargs) class ThemesView(APIViewMixin, View): def get(self, request, id= None, *args, **kwargs): if (id!= None): serializer = vocabulary.customserializers.ThemesSerialiser(showWords=True); return HttpResponse(serializer.serialize([vocabulary.models.Theme.objects.get(pk= id)]), content_type='application/json') else: serializers = vocabulary.customserializers.ThemesSerialiser(showWords=False); return HttpResponse(serializers.serialize(vocabulary.models.Theme.objects.all()), content_type='application/json',) this doesnt work -
Removing unused lookup_field generated from router on viewset
I have a viewset on a "/me" endpoint that doesn't require a lookup_field for detailing, as it uses the current request user for filtering, retrieving a single result. class ClientProfileDetail( mixins.RetrieveModelMixin, mixins.UpdateModelMixin, viewsets.GenericViewSet ): permission_classes = [IsOwnerOrAdmin] queryset = ClientProfile.objects.all() serializer_class = ClientProfileSerializer def get_object(self): queryset = self.get_queryset() obj = get_object_or_404(queryset, pk=self.request.user) return obj I'm registering the viewset using the default router: router.register(r"me", ClientProfileDetail) But even though i have no use for the on the URL, the router register these URLs: profile/ ^me/(?P<pk>[^/.]+)/$ [name='clientprofile-detail'] profile/ ^me/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='clientprofile-detail'] My question is: How can i remove the (?P<pk>[/.]+)/$ on my routes Overriding get_object() as explained here: RetrieveAPIView without lookup field? didn't work -
How to add an option to pdf files with Order model context in Django Admin
I have a beginners question, in my Django E-commerce Project, I want to add an Option to include Order details so that I can print them as Invoices. I have 3 models: Item, OrderItem and Order. The Order has a Many-to-Many relationship with OrderItem and the OrderItem has a Foreign Key with Item. I have found weazyprint that help do the trick but I am unable to include the correct context so I need advice in including the Order to appear in template Here is the models.py class Item(models.Model): title = models.CharField(max_length=100) keywords = models.CharField(max_length=100) price = models.DecimalField(decimal_places=2, max_digits=100) timestamp = models.DateTimeField(default=timezone.now) active = models.BooleanField(default=True) class OrderItem(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ordered = models.BooleanField(default=False) item = models.ForeignKey(Item, on_delete=models.CASCADE) quantity = models.IntegerField(default=1) variation = models.ManyToManyField(Variation) class Order(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) ref_code = models.CharField(max_length=20, unique=True, blank=True, null=True) items = models.ManyToManyField(OrderItem) start_date = models.DateTimeField(auto_now_add=True) ordered_date = models.DateTimeField() ordered = models.BooleanField(default=False) I have a problem in the views it is not correct so I need assistance in it @staff_member_required def admin_order_pdf(request, order_id): order = --------------------------------> having difficulty wiriting the right code for the template html = render_to_string('pdf.html', {'order': order}) response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'filename="order_{}.pdf"'.format(Order.id) weasyprint.HTML(string=html).write_pdf(response) return response url.py path('admin/order/(<order_id>\d+)/pdf/', views.admin_order_pdf, name='admin_order_pdf') template … -
Django-allauth login/signup in one view
I am working on a django project and i would like to have one website page called login_register where the user can see the login form and click on a button to change that form to the sign up form using javascript. So i am stuck on finding out how to make this work and have login and signup forms on one page. Thanks in advance! -
Trouble uploading Django to production w/ Digital Ocean Apps, "collectstatic no input" error
I'm trying to upload my django app to a production server using Digital Oceans Apps. However I keep getting this error and I've tried everything. I see that in the log below, there's an $ heroku config:set DISABLE_COLLECTSTATIC=1, I registered this app as heroku git before but never put it into production and just now have removed all traces of Heroku. I'm baffled at why I'm getting this error. Below are settings.py and my Digital Ocean log #settings.py """ Django settings for stockbuckets project. Generated by 'django-admin startproject' using Django 3.1.1. For more information on this file, see https://docs.djangoproject.com/en/3.1/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.1/ref/settings/ """ import os from pathlib import Path import dj_database_url # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.environ.get('SECRET_KEY_DJANGO_STOCKBUCKETS') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ['0.0.0.0', 'localhost', '127.0.0.1'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'home.apps.HomeConfig', 'django_plotly_dash.apps.DjangoPlotlyDashConfig', 'dpd_static_support', 'channels', 'channels_redis', 'bootstrap4', 'blog', ] MIDDLEWARE = [ … -
Am new to web development using python and want to know the best framework to use
i have been using PHP for backend web development and now I want to try using a python framework, which python framework will you recommend to start learning and why? -
Django/allauth: Can you add oauth mid-project easily?
If I start my project with allauth but don't use the oauth (Google, Facebook), can I easily add oauth after there are real users? Or is it one of those things where you have to fuss with the database manually? -
Django urls for Website not pointing to the correct page
I am using django to help create a website. The problem is when I attempt to switch from page to page the page can't be found and the url reads: http://127.0.0.1:8000/mentorPage/ http://127.0.0.1:8000/mentorPage/mentorPage/ As I click on the mentorPage link multiple times. I have attached my urls code below and was wondering if anyone could tell me why this is happening. from django.urls import path, include from . import views from django.views.generic import ListView, DetailView from webapp.models import UE # Create your views here. app_name = "main" urlpatterns = [ path('', views.home, name = 'home'), path('home', views.home, name = 'home'), path('resourcePage/', views.resource, name = 'resource'), path('mentorPage/', views.mentorPage, name = 'resource'), path('aboutMePage/', views.aboutME, name = 'resource'), ] -
progress bar showing incorrect percentage
i followed a tutorial on how to implement a file upload progress bar with django using js but the problem is that the progress bar is reaching 100% before the file completed uploading this my uploader.js function check_ex() { var fullPath = document.getElementById("id_video").value; if (fullPath) { var startIndex = fullPath.indexOf("\\") >= 0 ? fullPath.lastIndexOf("\\") : fullPath.lastIndexOf("/"); var filename = fullPath.substring(startIndex); if (filename.indexOf("\\") === 0 || filename.indexOf("/") === 0) { filename = filename.substring(1); } var x = filename.split('.').pop(); if (x != 'mp4') { alert(x +' format is not allowed in video input, use only (mp4) extensions'); location.reload() }; } } $(document).ready(function () { $("form").on("submit", function (event) { event.preventDefault(); check_ex(); var formData = new FormData($("form")[0]); $.ajax({ xhr: function () { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener("progress", function (e) { if (e.lengthComputable) { document.getElementById("loading_btn").classList.remove("d-none"); document.getElementById("save_btn").classList.add("d-none"); document.getElementById("progressdiv").classList.remove("d-none"); var percent = Math.round((e.loaded / e.total) * 100); if (percent == 100) { document.getElementById("message_button").click(); } $("#progressbar") .attr("aria-valuenow", percent) .css("width", percent + "%") .text(percent + " %"); } }); return xhr; }, type: "POST", data: formData, processData: false, contentType: false, seccess: function () {}, }); }); }); im new in javascript and i couldn't understand why this function is giving me so much smaller percentage comparing to the … -
How to grab 10 most recently created profiles in django?
Well i am want to show most recent created profiles but i dont understand how can i grab them by queryset. I am adding some information if more information require than tell me i will update my answer with that information models.py class UserProfile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) follower = models.ManyToManyField(User, related_name ='is_following',blank=True,) avatar = models.ImageField(("Avatar"), upload_to='displays', default = '1.jpg',height_field=None, width_field=None, max_length=None,blank = True) create_date = models.DateField(auto_now_add=True,null=True) objects = ProfileManager() class ProfileManager(models.Manager): def top_profile(self): top_profile = self.get_queryset().get(user=self.request.user) qs = UserProfile.objects.filter( user=top_profile ).order_by('-create_date')[:10] return top_profile -
Django Celery How to run function every 5 sec?
I want the function update() to run every 5 seconds. In this case, my function just prints a message to the console. For this I decided to use celery. I put the following code in a file settings.py and nothing happens when the server runs. What am I missing? Some code perhaps? from celery import Celery from celery.schedules import crontab app = Celery() app.conf.beat_schedule = { # Executes every Monday morning at 7:30 a.m. 'add-every-monday-morning': { 'task': 'accounts.views.update', 'schedule': timedelta(seconds=5), }, } -
How do I display an integer from a database object in Django?
I am a beginner in Django and coding in general. I know that this must be an easy thing to do but I have been struggling with this for days. This is my model: class Bal(models.Model): balance = models.IntegerField(default='5000') def __int__(self): return "{}, {}".format(self.pk, self.balance) View: def add_stock(request): import requests ... bala = Bal.objects.get(pk=2) ''' return render(request, 'stocktrader/add_stock.html', {'ticker': ticker, 'output': output, 'bala': bala}) in the html page: <h4>Balance: {{ bala }}</h4> The output on the web page is: Balance: Bal object (2) Where "Bal object(2)" is I need it to display a number. The table in the database has one 'balance' entry for 5000 and it has an id if 2. I just don't understand how to get the value of '5000' to display instead of 'Bal object (2)'. -
Wrap string in ReportLab table cell in Django
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. class NewPDF(View): def get(self, request, *args, **kwargs): arr= [(p.nombre, p.apellido, p.tipo+'-'+p.numero_identificacion, p.telefono , p.email, p.direccion) for p in Persona.objects.all()] data = { 'titulo':'LISTADO DE PERSONAS', 'headings':('NOMBRE', 'APELLIDO', 'IDENTIFICACION','TELEFONO','EMAIL', 'DIRECCION'), '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. canv = Canvas(buff, pagesize=A4) frame = Frame(0,0,width,height, leftPadding=30, bottomPadding=30, rightPadding=30, topPadding=30, showBoundary=1) personas = [] header = Paragraph(data['titulo'], titleStyle) headings = data['headings'] allpersonas = data['query'] t = LongTable([headings] + allpersonas) t.setStyle(TableStyle( [ ('GRID', (0, 0), (-1, -1), 1, colors.black), ('BACKGROUND', (0, 0), (-1, 0), colors.gray) ] )) personas.append(t) frame.addFromList(personas,canv) And the table looks like this. Table Any help to get around this is appreciated. If I'm missing something, please tell me and I'll add it to the post. -
How am I supposed to add a field to a signup form in django-allauth? Docs vs Stackoverflow vs Blog posts
It appears that there are multiple ways to add a simple field to a django-allauth signup form. From @danielfeldroy I see what's quoted below. # SpyBookSignupForm inherits from django-allauth's SignupForm class SpyBookSignupForm(SignupForm): # Specify a choice field that matches the choice field on our user model type = d_forms.ChoiceField(choices=[("SPY", "Spy"), ("DRIVER", "Driver")]) # Override the init method def __init__(self, *args, **kwargs): # Call the init of the parent class super().__init__(*args, **kwargs) # Remove autofocus because it is in the wrong place del self.fields["username"].widget.attrs["autofocus"] # Put in custom signup logic def custom_signup(self, request, user): # Set the user's type from the form reponse user.type = self.cleaned_data["type"] # Save the user's type to their database record user.save() But then, in the response to a ticket from https://github.com/pennersr/django-allauth/issues/826 pennersr (django-allauth's founder) states that all we have to do is: class SignupForm(forms.Form): first_name = forms.CharField(max_length=30, label='Voornaam') last_name = forms.CharField(max_length=30, label='Achternaam') def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save() And then add ACCOUNT_SIGNUP_FORM_CLASS = 'yourproject.yourapp.forms.SignupForm' to my settings. See: How to customize user profile when using django-allauth But then in the docs we have this: https://django-allauth.readthedocs.io/en/latest/forms.html#signup-allauth-account-forms-signupform Where we do this: from allauth.account.forms import SignupForm class MyCustomSignupForm(SignupForm): def save(self, request): # Ensure you … -
django model is getting Alter Field alert on every migrations
i am getting alter filed alert every time when i run the command python manage.py makemigrations i also delete my database old migration files but the alert is still there can anybody know how can i solve this issue? Migrations for 'assignment': assignment/migrations/0012_auto_20201016_0754.py - Alter field city on assignment - Alter field status on assignment class Assignment(models.Model): CITY_SELECT = { ('i', 'Islamabad'), ('l', 'Lahore'), ('m', 'Multan'), ('k', 'Karachi'), ('q', 'Queta'), ('p', 'Pashawar') } STATUS_SELECT = { ('p', 'Pendding'), ('d', 'Done'), ('i', 'In field'), ('c', 'Cancel') } place = models.CharField(max_length=100) desc = models.CharField(max_length=500) reporter = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) created_on = models.DateTimeField(auto_now_add=True) assign_time = models.DateTimeField(auto_now=False, null=True) city = models.CharField(choices=CITY_SELECT, max_length=9) status = models.CharField(choices=STATUS_SELECT, max_length=8) -
No such file or directory when i load image
When loading an image from a form, an error is triggered: "[Errno 2] No such file or directory: '... \ pictures \ foto.jpg'", but if i load from database then everything works well file views.py: elif "ProfileUpdateForm" in request.POST: form=ProfileUpdateForm(request.POST,request.FILES) if form.is_valid(): profile=Profile.objects.get(user=self.request.user) profile.avtor=form.cleaned_data.get('avtor') profile.save() obj=Profile.objects.get(user__username=self.request.user) return HttpResponseRedirect(reverse_lazy('profile',kwargs={'slug': obj.slug},)) file forms.py: class ProfileUpdateForm(forms.ModelForm): class Meta: model=Profile fields=('avtor',) widgets={'avtor': forms.FileInput(),} file models.py: class Profile(models.Model): user=models.OneToOneField(User,verbose_name="Пользователь",on_delete=models.CASCADE) avtor=models.ImageField(verbose_name="Аватарка",default='user_images/default.jpg', upload_to='user_images',blank=True) def save(self, *args, **kwards): image = Image.open(self.avtor.path) if image.height > 256 or image.width > 256: resize = (256, 256) image.thumbnail(resize) image.save(self.avtor.path) return super(Profile, self).save(*args, **kwards) file profile.html: <form action="" method="POST" enctype="multipart/form-data"> {% csrf_token %} {{ ProfileUpdateForm.as_p }} <input name="ProfileUpdateForm" class="input-button" type="submit" value="Save" /> </form> -
How to Retrieve Post by Each Category in a Blog and Place them on postlist html page in django
Am creating a blog and a news website in django which have a specific category displayed on its hompage. That is the specific category for news, Politics and education are beeing displayed on my post_list.html. I get a no exception provided when i try to retrieve it by Post.objects.filter(category__name__in=["news"]) This is the model for my category class Category(models.Model): name = models.CharField(max_length=250) slug = models.SlugField(max_length=250, unique=True) This is the model for my Post class Post(models.Model): image = models.ImageField(upload_to="images/") title = models.CharField(max_length=150) summary = models.CharField(max_length=250) category = models.ForeignKey(Category, on_delete=models.CASCADE) *This is the view for my postlist class PostListView(ListView): model = Post template_name = blog/post_list.html context_object_name = "posts" ordering = ["date_posted" paginate_by = 5 def get_queryset(self): posts = get_object_or_404(Post) return Post.objects.filter().order_by( "-date_posted") def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['posts'] = Post.objects.filter()[0:4] context['new_cat'] =Post.objects.filter(category__name__in=[" news"])[0.5] context['new_politics'] = Post.objects.filter(category__name__in=["politics"])[0.5] return context *** This is my pos_tlist.html code for retrieving post by category in news <div> <h1>News</h1> <div/> {% for post in new_cat%} div class="mt-2" <a href="{{ post.get_absolute_url }}"><img class="object-cover w-full rounded-lg" src="{{ post.image.url }}" alt="{{ post.title }} cover"> </a></div> <div class="py-2 flex flex-row items-center justify-between"> <a href="{{ post.get_absolute_url }}"><h1 class="hover:text-blue-600 text-gray-900 font-bold text-xl mb-2 py-2">{{ post.title }}</h1></a></div> ''' I get a no exception provided for … -
Field 'id' expected a number but got <Listing: Ps4 Pro>
It's my first time creating a Django website with models, and in my first attempt to insert data into my table I'm getting this error. My models are as follows: class User(AbstractUser): pass #https://docs.djangoproject.com/en/3.1/topics/auth/default/ class Listing(models.Model): listingID = models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="listID") created_by = models.ForeignKey(User, on_delete=models.SET_NULL, related_name="myListing", null=True) watchers = models.ManyToManyField(User, blank=True, related_name="watchlist") title = models.CharField(max_length=30) description = models.TextField() creation_date = models.DateField(auto_now=True) img_url = models.URLField() active = models.BooleanField(default=True) def __str__(self): return f"{self.title}" class Bid(models.Model): listing = models.ForeignKey(Listing, on_delete=models.SET_NULL, related_name="bidsMadeOnMe", null=True, blank=True) user = models.ForeignKey(User, on_delete=models.SET_NULL, related_name="myBids", null=True) price = models.FloatField() creation_date = models.DateField(auto_now=True, null=True) def __str__(self): return f"Bid={self.price}" and the view that handles the form submission is this one: @login_required def create_listing(request): if request.method == "POST": user = User.objects.get(username=request.user.username) l = Listing(created_by=user, title=request.POST["title"], description=request.POST["desc"], # https://stackoverflow.com/questions/12176585/handling-dates-over-request-get creation_date=models.DateTimeField(auto_now_add=True), img_url=request.POST["image_url"] ) l.save() b = Bid(l, user, request.POST["initial_bid"], models.DateTimeField(auto_now_add=True) ) b.save() return render(request, "auctions/index.html") I know the problem is the way I'm adding the data but I can't fix it. Can someone give me some light? -
Stop a running function in Django
I am uploading a CSV file then adding the rows in the database and I want to able to pause, resume or terminate the function that handles the upload so the user can pause or terminate while the file is still uploading the file to the server or when the server is adding the content of the CSV file into the database I tried to use threading but i couldn't do it that way and then i tried to time.sleep() but it just runs and it does not pause the show function and when i try to stop the pause function it does not stop views.py is_paused = False def show(request): content = {} if not is_paused: if request.method =='POST': uploaded_file = request.FILES['file'] print(uploaded_file.name) print(uploaded_file.size) fs = FileSystemStorage() fs.save(uploaded_file.name,uploaded_file) upload = Upload() upload.title = uploaded_file.name upload.file = uploaded_file upload.save() filecontent = file_content() path = '/home/ahmed/Desktop/atlan/atlan/media/'+uploaded_file.name with open(path) as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') next(csv_reader) for row in csv_reader: filecontent.seq = row[0] filecontent.First_name =row[1] filecontent.Last_name = row[2] filecontent.age = row[3] filecontent.street = row[4] filecontent.city = row[5] filecontent.state = row[6] filecontent.zipcode = row[7] filecontent.dollar = row[8] filecontent.color = row[9] filecontent.date = row[10] file_content.CSV_ID = upload.ID filecontent.save() else: time.sleep(2) return render(request,'upload/upload.html', content) def … -
How to achive SUM aggregate() + distinct(fields) in Django ORM
I have a model: class A(models.Model): name = models.CharField() price = models.IntegerField() I need to aggregate Sum of all records in db but before it I want to remove duplicates by name (distinct) So i try use A.objects.all().distinct('name').aggregate(total=Sum('price') But I got error NotImplementedError: aggregate() + distinct(fields) not implemented. So, How can I achieve same result in django orm? -
Django if statement not working inside of a for loop in templates
So I want to display all the posts from the user, in their profile while logged in, but can't seem to figure out how to do it. This is my template: {% for post in posts %} {% if user.username == post.author %} <div class="container col-lg-8 ml-lg-5"> <div class="box"> <a href="#"><img class="rounded-circle account-image" src="{{ post.author.profile.image.url }}" alt="" ></a> <a href="#"><h4 style="float: left;">{{post.author}}</h4></a> <small>{{post.date_posted}}</small> <hr width="82%" align="right"> <br> <div class=""> <p>{{post.content}}</p></div> </div> <br> </div> {% endif %} {% endfor %} And this is my model: class Post(models.Model): content = models.TextField() date_posted = models.DateTimeField(default=timezone.now) author = models.ForeignKey(User, on_delete=models.CASCADE) It doesn't show me any errors, it just doesn't work. When I try removing the if statement, it works, but shows me every post by every user