Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
how to store filtered data from database in temp model(based on user who filtered) and based on fetched it display random until its length end Django
Here I,m facing problem, i wrote a code where user search data based on given filter. i store in variable. now let have instance, i get back 5 record based on search now i want to display these record randomly until he have seen all records with a button to show next record. if he have seen record it must be deleted from DB. he is able to new search not before until he sees all fetched data. please help any python Django master. my goal is to make a randomizer to keep transparency. here is code. here is view.py it stores fetched data in query variable now i want to display this data one by one with button to user until its finished all fetched data. @login_required def database(request): if request.method=="POST": codename=request.POST['codeName'] To=request.POST['endDate'] From=request.POST['startDate'] #StartTime # print("date time ",To) logid=request.POST['avaya'] print("code from frnt end",codename) time=request.POST['time'] if time == "Less than 1 Minute": work_code = work_codes.objects.all() query = agents_performance.objects.filter(Q(StartTime__contains=f'{From,To}') | Q(Talktime__lt=60) & Q( Wrapupcodelist__contains=f'{codename}') & Q(LoginId=logid)).values() print("total fetch data",query.count()) random=query.order_by('?').first() context={'work_code':work_code,'upload':upload,'uploadcode':uploadcode,'random':random} return render(request, 'tables.html',context) elif time == "One to Three Minute": work_code = work_codes.objects.all() query = agents_performance.objects.filter(Q(StartTime__contains=f'{From,To}') | Q(Talktime__range=(60,180)) & Q( Wrapupcodelist__contains=f'{codename}') & Q(LoginId=logid)).values() print("total fetch data",query.count()) random=query.order_by('?').first() print("random",random) context={'random':random,'work_code':work_code,' … -
Power BI Dashboard Embed Code Using Django?
I am working on a Django web application which is supposed to use Power BI Embedded as a reporting . I also know that we can use to embede power bi dashboard with out code or less code in our website. But I need to embed power bi report via python code? If any one worked or faced this issue please help me? I get for other web frame works but I am supposed to use django. I tried the iframe way and it works but unfortunatly we are not comfortable with that? I want to know how I can embed using my power bi informations or API's in to django web frame work? -
500 Internal Server Error trying to fetch data with Django Rest Framework through Javascript
I'm trying to get the post data from the backend using fetch. However i am getting a 500 server error when trying to fetch the data. I have tried using .serialize() in the backend to pass the data. as well as trying to return the jsonResponse by serializing the query object which would give me this error: Object of type User is not JSON serializable. I tried it by sending an object and without an object. Any suggestions? code models.py class Post(models.Model): user = models.ForeignKey(User,on_delete=models.PROTECT, default='',null=True) message = models.TextField() date = models.DateTimeField() likes = models.ManyToManyField(User,blank=True,null=True,related_name="posts") def serialize(self): return { "id": self.id, "user": self.user, "likes": [user for user in self.likes.all()], "message": self.message, "date": self.date.strftime("%b %d %Y") } code urls.py path("post/<int:id>",views.post, name="post") code views.py @csrf_exempt def post(request,id): post = Post.objects.get(id=id) if request.method == "GET": return JsonResponse({"post":post.serialize()}) code script.js (post.getAttribute('name') is the post id) posts.forEach(post => { fetch(`post/${post.getAttribute('name')}`) .then(response => response.json()) .then(data => { console.log(data) }) )} -
How can I populate a model with non-form data?
I have Student, Class and StudentClass models. I would like a student to be able to join a new class by inputting the class_code into a form. To join a class the user's student_id and the class_code is saved to the StudentClass model. The student_id isn't a form field so should be obtained by querying the Student model with the logged-in user's username and returning the student_id. models.py: class StudentClass(models.Model): class Meta: unique_together = (('class_code', 'student_id'),) class_code = models.ForeignKey(Class, on_delete=models.CASCADE) student_id = models.ForeignKey(Student, on_delete=models.CASCADE) forms.py: class JoinClassForm(forms.ModelForm): class Meta: model = StudentClass fields = ['class_code'] views.py @login_required def join_class(request): if request.method == "POST": joinclass_form = JoinClassForm(request.POST or None) if joinclass_form.is_valid(): formclass_code = joinclass_form.data.get('class_code') if Class.objects.filter(class_code=formclass_code).exists(): joinclass_form.save(commit=False) joinclass_form.student_id = Student.objects.filter(username=request.user.username).values_list('student_id', flat=True) joinclass_form.save() return redirect('assignments') else: messages.success(request, ("This class doesn't exist!")) else: joinclass_form = JoinClassForm return render(request, 'join_class.html', {'joinclass_form': joinclass_form}) I've tried using a hidden_field for student_id, excluding student_id from the form fields and saving as commit=False, and I've gotten the same error: IntegrityError Not NULL constraint failed. Is there an error in my code that I have missed or am I using the wrong method? Thanks in advance Edit: Forgive me but copy-paste went kinda awry on the last set of … -
RotatingFileHandler set to 10MB but the size is much smaller
I just noticed that logs on the server are very small: api/logs$ ls -lah -rw-r--r-- 1 master www-data 7.5K Oct 29 14:50 root.log -rw-r--r-- 1 master www-data 15K Oct 29 14:50 root.log.1 -rw-r--r-- 1 master www-data 17K Oct 29 14:50 root.log.2 This is settings.LOGGING, as you can see, the root handler should rotate logs after they reach 10MB os.makedirs(BASE_DIR / "logs", exist_ok=True) LOGGING = { "version": 1, "disable_existing_loggers": False, "formatters": { "verbose": { "format": "{levelname} {asctime} {module} {process:d} {thread:d} {message}", "style": "{", }, "simple": { "format": "{levelname} {message}", "style": "{", }, }, "handlers": { "console": { "class": "logging.StreamHandler", }, "root": { "level": "INFO", "class": "logging.handlers.RotatingFileHandler", "filename": BASE_DIR / "logs" / "root.log", "maxBytes": 1024 * 1024 * 10, # 1024 * 1024 * 10 = 10MB "backupCount": 2, "formatter": "verbose", }, "sendpulse": { "level": "INFO", "class": "logging.handlers.RotatingFileHandler", "filename": BASE_DIR / "logs" / "sendpulse.log", "maxBytes": 1024 * 1024, # 1024 * 1024 = 1MB "backupCount": 2, "formatter": "verbose", }, "slack__sendpulse": { "level": "INFO", "class": "external_sources.slack.SlackSendpulseHandler", "formatter": "verbose", }, }, "loggers": { "": { "handlers": ["console", "root"], "level": "INFO", }, "sendpulse": { "handlers": ["sendpulse", "console", "slack__sendpulse"], "level": "INFO", }, }, } Do you know where is the problem? -
Djnago Database Working Fine but Unable To Fetct Data on Template
In database data is adding sucessfully but when i want render it on template it shows nothing Here is my view file here is template file I treid to retype my code and check for errors everything is workig fine even i have created another project just to test there also working fine but i try to run this project it show empty -
shoping cart in django rest freamwork
I save the shopping cart in the Redis database. The codes I wrote in such a way that the user must be logged in to add the product to the shopping cart. I want to do something without getting the user ID and without the user having logged in to create the shopping cart for the users. What should I do to create a shopping cart instead of the user ID in the code I wrote? import redis r = redis.Redis(host='localhost', port=6379, db=0) class Cart: @classmethod def add_cart(cls, **kwargs): user_id = kwargs.get('user_id') product_id = kwargs.get('product_id') cart_name = f'{user_id}_{product_id}' if r.exists(cart_name): r.hincrby(cart_name, 'quantity', kwargs['quantity']) else: for field, value in kwargs.items(): r.hset(cart_name, field, value) return cart_name @classmethod def get_cart(cls, user_id): cart = [] for user_carts in r.scan_iter(f'{user_id}_*'): data = {key.decode('utf-8'): value.decode('utf-8') for key, value in r.hgetall(user_carts).items()} cart.append(data) return cart -
The problem of not displaying validation messages in allauth after overriding allauth templates
I use the allauth package to validate forms. The problem I have in this case is that I want to change the default templates of the allauth package and add my own styles and css classes to them. And I have done this, but my problem is that when the user enters incomplete or incorrect login information, no validation message is displayed to the user. I want to change the default allauth templates, such as login.html, signup.html, etc. and also I want to display my own authentication messages. Please guide step by step I because am learning Django, Thanks. This is login.html {% extends "base.html" %} {% load i18n %} {% load account socialaccount %} {% block head_title %}{% trans "Sign In" %}{% endblock %} {% block content %} <h1 class="head-line">{% trans "Sign In" %}</h1> {% get_providers as socialaccount_providers %} {% if socialaccount_providers %} <div class="container"> <p class="text-center">{% blocktrans with site.name as site_name %}Please sign in with one of your existing third party accounts. Or, <a href="{{ signup_url }}">sign up</a> for a {{ site_name }} account and sign in below:{% endblocktrans %} </p> </div> <div class="socialaccount_ballot container"> <ul class="socialaccount_providers text-center border"> {% include "socialaccount/snippets/provider_list.html" with process="login" %} </ul> <div class="login-or … -
Django form still shows errors even after successful submission if I press back button
I made a Django form. If the user tries to submit the form when entering wrong data then error is showed in the form and it is not submitted but when the user enters correct data and submit the form it gets submitted. The problem is that when the user presses the back button, he can still see that error in the form. What can I do about it? -
ImportError: attempted relative import beyond top-level package?
MY Structure here: https://i.stack.imgur.com/HcQxb.png https://i.stack.imgur.com/rP3j5.png When I import model from accounts app to to_do app: #in to_do/models.py from ..accounts.models import Account I have this error: File "/home/ghost/projects/django_projects/To_Do_App/to_do_list/to_do/models.py", line 2, in <module> from ..accounts.models import Account ImportError: attempted relative import beyond top-level package How to fix it? -
Django Date calculation
Model: class JobCycle(models.Model): dateReceived = models.DateField(blank=True, null=True) dueDate = models.DateField(blank=True, null=True) dateOut = models.DateField(blank=True, null=True) fee = models.IntegerField(blank=True, null=True) def __str__(self): return "Job Cycle" + str(self.id) I want to make a calculation, the due date will never exceed the received date. i Want to do this in the model -
Django Admin Panel Filtering - Apply Changes on Specific Items
I have used django-admin-sortable2 for sorting items. Items model have a field of category. I wanted to sort items that have the same category. class Ordering(models.Model): item = models.OneToOneField( "Item", on_delete=models.CASCADE ) main_order = models.PositiveIntegerField( default=0, blank=False, null=False, ) class Meta: ordering = ("main_order", ) def __str__(self): return self.item.title def reorder(self): ordered_list = [] for order, item in enumerate(Ordering.objects.all(), 1): item.main_order = order ordered_list.append(item) MainPageCoupons.objects.bulk_update( objs=ordered_list, fields=["main_order", "coupon"] ) def save(self, *args, **kwargs): super().save(*args, **kwargs) self.reorder() Is it possible in Django Admin Panel to change a field values for items that have the same value for specific field like category? -
Keep the aspect ratio by sorl-thumbnail in Django
i'm using sorl thumbnail library and i have a problme i cannot Keep the aspect ratio of my images . {% thumbnail product.image "268x250" quality=85 crop='center' as im %} <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"> {% endthumbnail %} This is my code but it makes my pictures very Unclear cause it crops the picture very badly is there any solution, not crop the pictures and only make them smaller with keeping aspect ratio ??? i want keeping aspect ratio of my pictures -
Obtain DJango Authorization token using https only
I am not a web developer and hence my understanding of web development technology is limited. Hence please bear with me. I am trying to retrieve result from a Rest API using VBA. The rest API requires authentication using django framework. I initially tried to use HTTPRequest.Send "Get", URL, async, username, password I am getting {"detail":"Authentication credentials were not provided."} back. I gather that as the REST API I am working with uses django framework, I probably would need to authenticate using django. Hence my question is if I could submit username/password to django and retrieve authorisation token, by making https requests only - without having to reference various django objects (which would have entailed developing it outside VBA). Am I asking for the impossible? Thanks in advance -
What is the best way to separate two applications on a same Django Project?
I have two separate applications with different features but with the same back-end code base that runs on Django. These applications also have separate databases. But some Django apps (like custom user or an app for managing locations or custom authentication) are used in both projects; and developing, maintaining, and adding new features are getting harder beacause the project is growing large What is the best way to separate code bases for these projects? Should I migrate to microservices with Django (or something else)? Or is there a better way to -
How to compare in same model (Django) two specific fields
How to compare in same model (Django) two specific fields (which one is higher) and save result in third field(Boolean for example)? -
Weasyprint render_to_string <weasyprint.HTML object at 0x7f6f944df190> 2 extra bytes in post.stringData array problem
I have an html template and I want to print a pdf with weayprint for it. However, I am getting the error "<weasyprint.HTML object at 0x7f6f944df190> 2 extra bytes in post.stringData array problem" that I mentioned in the title. I am sharing my views.py file and some of my html template. views.py def export_pdf(id): print('export') edit_ambulanceCase = CallCenter.objects.all() html_string = render_to_string('forms/update_forms/pdf.html',{'PreCaseControl':edit_ambulanceCase}) print(html_string) html = HTML(string=html_string) print(html) return HttpResponse(html.write_pdf('deneme.pdf')) pdf.html <main> <div class="container-fluid px-4"> <div class="row justify-content-center"> <div class="col-lg-12"> <div class="card shadow-lg border-0 rounded-lg mt-5"> <div class="card-header"><h4 class="text-center font-weight-light my-4">Çağrı Merkezi Formu</h4></div> <div class="card-body"> <form action="" method="POST"> {% csrf_token%} <h3>Çağrıyı Yapan</h3> <div class="row"> <div class="mb-3 col"> <label for="institution_name" class="form-label">KURUM ADI</label> <input type="text" class="form-control" id="institution_name" name="institution_name" value="{{CallCenter.institution_name}}"> </div> <div class="mb-3 col"> <label for="caller_username" class="form-label">ADI SOYADI</label> <input type="text" class="form-control" id="caller_username" name="caller_username" value="{{CallCenter.caller_username}}"> </div> </div> <div class="row"> <div class="mb-3 col"> <label for="proximity" class="form-label">YAKINLIĞI</label> <input type="text" class="form-control" id="proximity" name="proximity" value="{{CallCenter.proximity}}"> </div> <div class="mb-3 col" data-type="control-phone"> <label for="caller_tel_no" class="form-label">TELEFON NUMARASI</label> <input type="tel" class="form-control" id="caller_tel_no" name="caller_tel_no" value="{{CallCenter.caller_tel_no}}" data-component="phone" inputmode="text" maskvalue="(###) ###-####" val> <label class="form-sub-label" style="min-height: 13px;" for="caller_tel_no_sub">Lütfen geçerli bir telefon numarası girin.</label> </div> </div> <h3>Hasta</h3> <div class="row"> <div class="mb-3 col"> <label for="patient_username" class="form-label">ADI SOYADI</label> <input type="text" class="form-control" id="patient_username" name="patient_username" value="{{CallCenter.patient_username}}"> <label for="patient_age" class="form-label">YAŞ</label> <input type="text" class="form-control" id="patient_age" … -
how can I display category name of selected wallpaper
models.py class Category(models.Model): category_name = models.CharField(max_length=100) def __str__(self): return self.category_name class SubCategory(models.Model): sub = models.CharField(max_length=100) category = models.ForeignKey(Category,on_delete=models.CASCADE) def __str__(self): return self.sub class Wallpaper(models.Model): subcategory = models.ManyToManyField(SubCategory) this is my view.py def download(request, wallpaper_name): try: wallpaper = Wallpaper.objects.get(name=wallpaper_name) context = {'wallpaper': wallpaper} return render(request, 'Wallpaper/download.html', context) on my download page how can I show categorty name of that specific wallpaper -
What is wrong with this PostgreSQL connection?
Everything was working fine, until suddenly my docker-compose up & manage.py migrate & manage.py makemigrations all started failing. an example is below. C:\Users\tgmjack\Desktop\londonappdevelopersexample\my_ec2_ting\app>python manage.py makemigrations C:\Users\tgmjack\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\management\commands\makemigrations.py:143: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': connection to server at "localhost" (::1), port 5432 failed: Connection refused (0x0000274D/10061) Is the server running on that host and accepting TCP/IP connections? connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused (0x0000274D/10061) Is the server running on that host and accepting TCP/IP connections? warnings.warn( No changes detected Since the error complained of inconsistent migration history, i deleted my migrations folder thinking i could just start again. That changed nothing, so then i decided to delete all my previous containers and images in docker too. The postgresql server is now running again after doing another docker build. but it still doesnt want to connect. below is the last bunch of lines from the logs of my postgresql server copied from inside docker desktop. I believe this shows that im doing things right (ie my server is running on 0.0.0.0:5432) 022-10-29 08:53:48.707 UTC [1] LOG: received fast shutdown request 2022-10-29 08:53:48.709 UTC [1] LOG: aborting any active transactions 2022-10-29 … -
migrate sqlite database data to postgres database on heroku
I've been working on a django project locally and used SQLITE as the database. I've now deployed the project to Heroku and used postgresql as the database. I've done the migrations and the database schemas migrated fine but the data from the tables has not migrated. How do i migrate the sqlite data to postgresql database? Here is my database code from settings.py DATABASES = { 'default': { "ENGINE": "django.db.backends.sqlite3", "NAME": os.path.join(BASE_DIR, "db.sqlite3"), } } import dj_database_url db_from_env = dj_database_url.config(conn_max_age=600) DATABASES['default'].update(db_from_env) -
How to get a target table without a table via a thought relation
I have models ` class G(models.Model): s = models.ManyToManyField("S", related_name="gg") class S(models.Model): b = models.BooleanField(blank=True, null=True) class SP(models.Model): s = models.ForeignKey("S", models.DO_NOTHING, related_name="sp1") p = models.ForeignKey("P", models.DO_NOTHING, related_name="sp1") class P(models.Model): q = models.IntegerField() ` How can I get prefetch related table E? I try to do A.objects.prefetch_related("s__sp1__q").all(), but I get the data of the intermediate table SP (s_id=1, p_id=1), but I want to get the data of table P immediately (q=2) -
django querySet union?
there is situation in which when user search a keyword, the result will be 3 queries a=model.objects.filter(icontains=keyword[0]) b= a.filter(icontains=keyword) c= a.filter(istartswith=keyword) And I want to return a result which combines a, b & c. But the condition is the order should be c,b,a and elements should not be repeated. I tried using union but the order is not correct. -
Foreign Key TestCase
I am trying to run tests on models and am having trouble with ones that have a foreign key. When I try to get the card made in setUp I am not able to. I am not understanding why. The value expected for the attribute category is an int. Either category, category.id, nor 'Test Category' work. Code: models.py class Category(models.Model): category_name = models.CharField(max_length=32) class Card(models.Model): category = models.ForeignKey(Category, on_delete=models.CASCADE) question = models.CharField(max_length=255) answer = models.TextField() slug = models.SlugField() test_models.py class CardTestCase(TestCase): def setUp(self) -> None: category = Category.objects.create(category_name='Test Category') Card.objects.create(category=category, question='Hello?', answer='Hello!', slug='slug' ) def test_card_exists(self): category = Category.objects.get(category_name='Test Category') L29 card = Card.objects.get(category=category.id, question='Hello?', answer='Hello!', slug='slug' ) Error: line 29, in test_card_exists card = Card.objects.get(category=category.id, django_cards.cards.models.Card.DoesNotExist: Card matching query does not exist. -
Calculate remaining days using javascript
I have this code I try to calculate remaining days using javascript in html I want to loop the function through all start date innerHTML First I get the start date in Html and calculate them all and display them any help would be greatly appreciated <td> <div id="start_date"> {{start_date|date:"m d Y"}} <!-- Here will by the start date 10/28/2022 --> </div> </td> In script <script> function func (){ var starDate = document.getElementById('start_date').innerHTML; console.log(starDate) var date = Math.abs((new Date().getTime() / 1000).toFixed(0)); var date2 = Math.abs((new Date().getTime(starDate) / 1000).toFixed(0)); var diff = date2 - date; document.getElementById('remaining-days').innerHTML = diff; console.log(diff) } func(); in display I got 0 just for first one -
AttributeError: 'WindowsPath' object has no attribute 'rpartition' when setting directory
After typing STATIC_ROOT = BASE_DIR / "staticfiles" in settings.py I get the error in the tittle. I tried with STATICDIR but it still doesn't work. I am pretty new to django so I don't really know other ways to fix it.