Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How can i get all information from <tr> in which django checkbox is active
I have such a table on my website that is filled with data: <table id="table" data-height="540" class="table table-dark"> <thead> <tr> <th data-checkbox="true"><input name="btSelectItem" value="selected_data"></th> <th data-field="id">ID</th> <th data-field="email">Email</th> <th data-field="source">Source</th> <th data-field="created_at">Created at</th> <th data-field="modified_at">Modified at</th> </tr> </thead> </table> <script> var $table = $('#table') $(function() { var data = {{data|safe}} $table.bootstrapTable({data: data}) }) </script> it is located in the tag of the form with the post method, with the help of this code fragment, I receive information about active checkboxes when the button is pressed: if request.method == 'POST': mails = request.POST.getlist('btSelectItem') I have a question, can I get all the information from this tag, or at least if the checkbox is active, get information from this field: <th data-field="id">ID</th> I would be very grateful for any advice) -
Celery doesn't get saved in the database
I'm using Celery on my Django app. I can't get my files to save in the database. When I run celery -A appname worker -l info --pool=solo in the terminal, then the files get saved. How do I get it to automatically save in the database? -
Problem with django mysql model auto increment pk (integerfield) number increasing too large
django mysql environment. I have a model that uses the default pk. By the way, pk is increasing too much. It increases by one regularly and then suddenly increases by several thousand. The code to create the model uses bulk_create, but nothing special. Neither is it created and then deleted. The actual model count is about 25,000, but the pk max has already exceeded 10 million. With only a few months of use, it seems to exceed the max of integerfield. How can I make it increment by 1? MySQL (none)@(none):edxapp> show table status like "klms_examstatus"\G; ***************************[ 1. row ]*************************** Name | klms_examstatus Engine | InnoDB Version | 10 Row_format | Dynamic Rows | 25784 Avg_row_length | 61 Data_length | 1589248 Max_data_length | 0 Index_length | 1228800 Data_free | 4194304 Auto_increment | 11705981 Create_time | 2022-08-03 19:34:56 Update_time | 2022-11-03 22:58:16 Check_time | <null> Collation | utf8_general_ci Checksum | <null> Create_options | Comment | 1 row in set Time: 0.019s MySQL (none)@(none):edxapp> select * from klms_examstatus order by id desc limit 1\G; ***************************[ 1. row ]*************************** id | 11705980 created | 2022-11-03 08:17:43.468974 modified | 2022-11-03 08:17:43.468974 attempt_count | 0 attempt_id | <null> subsectiongrade_id | 25956 1 row in set … -
Django url link is not working and I can't seem to figure out why
I have a notification that pops up whenever a new article is created and in that notification I have a link to that article. The problem is whenever you hit that link it brings up a 505 error. When I go to that article from the app, the url reads "website/app/article/77/" but when i inspect the link in the notification its giving me "website/app/article/77777777777777777777. So, that's a bit confusing. Here is the template that is used for the link in the notification {% extends "base.html" %} {% load bootstrap5 %} {% load crispy_forms_tags %} {% load static %} {% block content %} <div class="row"> <div class="col-sm-11"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col mt-0"> <h5 class="card-title">{{ object.title }}</h5> </div> <div class="col-auto"> <div class="stat text-primary"> <i class="far fa-comment-alt"></i> </div> </div> </div> <h3 class="mt-1 mb-3">{{ object.message }}</h3> <hr> <h5>Details found <a href="{{ production_notification.url }}">here</a></h5> <hr> <small class="text-muted">{{ object.timestamp }}</small> </div> </div> </div> </div> {% endblock content %} Please let me know if any more info is needed to make this more clear as to what I am asking I've tried changing the link like {{% url 'app:article' id %}} but that didn't work. I've tried other things as well -
Django: Add property condition for another property
For a property, I can't manage to filter a Queryset with another property. I want that if "father" has "Star" in "True", "star_descendant" returns "father". I have this error: Exception Value: 'QuerySet' object has no attribute 'star'. How to fix it? My code : @property def star(self): if Evenements.objects.filter(eventtype=93).filter(xrefindividuproprio=self): return True return False @property def star_descendant(self): father = Individus.objects.filter(codeid=self.xrefpere_id) mother = Individus.objects.filter(codeid=self.xrefmere_id) if father.star == True: return father -
How to write Django query to grab all objects in descending order according to two number fields?
I'm using Django. i'm trying to write query according to the top rated products. i have product table. as you can see below. class Product(models.Model): user = models.ForeignKey(User, verbose_name=_("Owner"), on_delete=models.CASCADE) name = models.CharField(_("Name"), max_length=150,null=True) average_rating =models.DecimalField(_("average rating"), max_digits=10, decimal_places=2,null=True,blank=True) total_reviews = models.IntegerField(_("total reviews "),default=0,null=True,blank=True) is_remove = models.BooleanField(_("Remove"), default=False) create_time = models.DateTimeField(_("Create time"), default=timezone.now) Now i want to get all objects which have highest average rating and total count. I have tried many things below. but none of them worked. 1 - def get_all_top_rated_products(self): query = self.filter(is_remove=False).order_by("total_reviews","average_rating") print(query) return query 2 def get_all_top_rated_products(self): query = self.filter(is_remove=False).aggregate(Max('average_rating'),Max('total_reviews')) print(query) return query -
What causes 127.0.0.1:8000 to not work after working at the beginning?
Good day, I ran into a problem while trying to design a website with django, in the beginning when ran 127.0.0.1:8000 it would then I wrote several code it still worked, I then added bootstrap and it still worked then all of a sudden it returns the "this site can't be reached" message, I tried to change the port yet it still doesn't work, what could be the problem? I added bootstrap and I was expecting to see a functional website -
How to insert data to the same table id with Javascript Clone Code?
I am trying something with django and i need clone the form elements. I found some code, it works but it inserts the different table id. I wanna clone two form fields with js clone code. It clones and then post the fields, when i looked the database, i see two fields inserterd tho different ids. How can i fix this? When you look database image, same numbers but different id's. How can i insert data to same id with two form fields. This is create_normal.html Here is the database Here is my codes. models.py from django.db import models from django.contrib.auth.models import User # Create your models here. class PatientBilgi(models.Model): name = models.CharField(max_length=155) surname = models.CharField(max_length=155) def __str__(self): return self.name class PatientAliskanlik(models.Model): sigara = models.CharField(max_length=155) alkol = models.CharField(max_length=155) def __str__(self): return self.sigara class Patient(models.Model): name = models.CharField(max_length=155) pbilgi = models.ForeignKey(PatientBilgi, on_delete=models.CASCADE, blank=True, null=True) palis = models.ForeignKey(PatientAliskanlik, on_delete=models.CASCADE, blank=True, null=True) def __int__(self): return self.name forms.py from django import forms from .models import Patient, PatientBilgi, PatientAliskanlik from django.forms import (formset_factory, modelformset_factory) class PatientForm(forms.ModelForm): class Meta: model = Patient fields = ['name'] class PatientBilgiForm(forms.ModelForm): class Meta: model = PatientBilgi fields = ['name', 'surname'] class PatientAliskanlikForm(forms.ModelForm): class Meta: model = PatientAliskanlik fields = ['sigara', … -
Django join query using foreignkey
select locations.name,regions.region_name from locations inner join regions on locations.region_id = regions.id order by locations.name; How to do this query in Django ? I want to show countryname-regionname in select tag like chennai-india -
How to access other table field through foreign key in Django?
I'm stuck on something. How can I access the userroleid from my validatorid foreign key? I'm trying to do validation on serializer level. I tried something like data['validatorid__userroleid'] but it raises an error. Hope someone can help me on this! Here's my serializers class ValidatorPartSerializer(serializers.ModelSerializer): class Meta: model = partsTable fields = ['pid', 'partsid', 'validatorid', (...)] read_only_fields = ['pid', 'partsid',(...)] def validate(self, data): if data['validatorid'] != 2: #how can I access userroleid from here? raise serializers.ValidationError("Sorry! You entered a user with no validator permissions.") return data def update(self, instance, validated_data): instance.validatorid = validated_data.get('validatorid', instance.validatorid) instance.partsstatusid = validated_data.get('partsstatusid', instance.partsstatusid) instance.save() return instance Here's my model for reference: class partsTable(models.Model): pid = models.AutoField(primary_key=True) partsid = models.CharField(max_length=15, null=True) validatorid = models.ForeignKey(userTable, on_delete=models.CASCADE, null=True, blank=True) (...) class userTable(models.Model): userid = models.UUIDField(primary_key=True, default = uuid.uuid4, editable=False) username = models.CharField(max_length=50, null=False, unique=True) userroleid = models.ForeignKey(roleTable, on_delete=models.CASCADE) class roleTable(models.Model): roleid = models.IntegerField(null=False, primary_key=True) role = models.CharField(max_length=255, null=False) -
django.db.utils.IntegrityError: null value in column of relation violates not-null constraint
I'm trying to add several existing facility objects to a lead object whenever i create a new lead object using a json field serializer. When i print out the "assigned_facilities_id" it returns: "none" but it is in the json data I'm sending to the serializer. Does anyone know why this is happening? This is the error I'm getting when i try to create a lead: django.db.utils.IntegrityError: null value in column "assigned_facilities_id" of relation "users_leadfacilityassign" violates not-null constraint DETAIL: Failing row contains (78, null, null, 159). File "/app/users/api/views.py", line 53, in perform_create serializer.save(agent=self.request.user) File "/usr/local/lib/python3.9/site-packages/rest_framework/serializers.py", line 205, in save self.instance = self.create(validated_data) File "/app/users/api/serializers.py", line 252, in create instance.leadfacility.create(assigned_facilities_id=assigned_facilities.get('facility_id'), datetime=assigned_facilities.get('datetime')) class LeadUpdateSerializer(serializers.ModelSerializer): is_owner = serializers.SerializerMethodField() assigned_facilities = serializers.JSONField(required=False, allow_null=True, write_only=True) class Meta: model = Lead fields = ( "id", "first_name", "last_name", "is_owner", "assigned_facilities", ) read_only_fields = ("id", "is_owner") def get_is_owner(self, obj): user = self.context["request"].user return obj.agent == user def create(self, validated_data): assigned_facilities = validated_data.pop("assigned_facilities") instance = Lead.objects.create(**validated_data) for item in assigned_facilities: instance.leadfacility.create(assigned_facilities_id=assigned_facilities.get('facility_id'), datetime=assigned_facilities.get('datetime')) return instance json { "assigned_facilities": [{ "facility_id": "1", "datetime": "2018-12-19 09:26:03.478039" }, { "facility_id": "1", "datetime": "2019-12-19 08:26:03.478039" } ] } models.py class Facility(models.Model): name = models.CharField(max_length=150, null=True, blank=False) def __str__(self): return self.name class Lead(models.Model): first_name = models.CharField(max_length=40, … -
Custom Headers are missing in the request received in Django
I'm working on a ReactJS/Django project where I need to send few custom headers to Django from React. Issue: Custom headers are missing when the request comes into Django Custom Headers Added are - Token and User-Type React code below. export async function post(url, requestBody = {}, auth_req=true) { const token = window.sessionStorage.getItem("Token"); const user_type = window.sessionStorage.getItem("User-Type"); console.log("Header Data : ",token, user_type); try{ const requestOptions = { method: 'POST', headers: { "Content-Type": 'application/json', "Token" : auth_req ? token : null, "User-Type" : auth_req ? user_type : null }, body: requestBody ? JSON.stringify(requestBody) : "{}" }; console.log("POST URL is : ", url) console.log("Request is : ", requestOptions) const response = await fetch(url, requestOptions); let json_response = await response.json() console.log("Response is : ",json_response) return json_response }catch(e){ console.log("Service Failed: ", e) return { status: false, messages: ["Service Failed. Please try after sometime."] } } } Console Output: - As per the console logs, all the information are sent out correctly But when it comes to Django, its all empty. In Django, I verify the custom header info in my middleware and below is the code def __call__(self, request): headers = request.headers token = headers.get('Token') user_type = headers.get('User-Type') print(headers) print("** Token : {} | … -
Django migration column does not exist ProgrammingError error when running tests
I run into an error when testing a django application with pytest, more specifically when running tests if I have done a migration that removes a field used in an earlier migration. Doing so outside of tests gives no error. To reproduce: models.py from django.db import models class TestModel(models.Model): # We started with this field, but now longer need it # original_text = models.CharField(max_length=255) # We added this field and then moved over to it new_text = models.CharField(max_length=511) migrations/0001_initial.py from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='TestModel', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('original_text', models.CharField(max_length=255)), ], ), ] migrations/0002_testmodel_new_text.py from django.db import migrations, models def move_text_to_other_field_and_append_new(apps, schema_editor): TestModel = apps.get_model("sample", "TestModel") for test_model in TestModel.objects.all(): test_model.new_text = test_model.original_text + " new" test_model.save() class Migration(migrations.Migration): dependencies = [ ('sample', '0001_initial'), ] operations = [ migrations.AddField( model_name='testmodel', name='new_text', field=models.CharField(default='', max_length=511), preserve_default=False, ), migrations.RunPython(move_text_to_other_field_and_append_new, migrations.RunPython.noop) ] migrations/0003_remove_testmodel_original_text.py from django.db import migrations class Migration(migrations.Migration): dependencies = [ ('sample', '0002_testmodel_new_text'), ] operations = [ migrations.RemoveField( model_name='testmodel', name='original_text', ), ] tests.py from django.test import TestCase class TestModelTestCase(TestCase): def test_example(self): self.assertEqual(1, 1) This is a minimal setup to reproduce the error. Now when running pipenv run … -
The comprehensive of Python and its future? [closed]
Python is a programming language that can be used in many areas such as AI, creating a Web Server, and writing tools that run in many industries (DevOps, Hacking, etc.). So is Python comprehensive and what does its future look like? I have used Python to create products for problems in different fields (AI, Web Server, script tool). So is it possible to use Python for everything? -
Django app dissapears from Django Admin site when I add apps.py file
I'm working with Django 3.2 and trying to configure correctly the AppsConfig subclass of apps.py in order to avoid duplicate apps names when initzialing the project. The context is the following. I have in my INSTALLED_APPS two apps whose names are equal although their paths not: INSTALLED_APPS = [ ... 'first_app.myapp', 'second_app.myapp' ] To avoid the error shown below (and according to the documentation), I need to create an apps.py file subclassing AppConfig in at least one of the apps called myapp. I've decided to create that file in the second one, second_app.myapp. django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: myapp The app.py in second_app.myapp module looks like as follows: from django.apps import AppConfig class MySecondAppConfig(AppConfig): name = "second_app.myapp" label = "my_second_app" And in the __init__.py I've added: default_app_config = 'second_app.myapp.apps.MySecondAppConfig' My admin.py looks like: from django.contrib import admin from .models import MyModel class MySecondAppAdminModel(admin.ModelAdmin): list_display = ('attr_1', 'attr_2') admin.site.register(MyModel, MySecondAppAdminModel) When I start the project all works OK and I can use that model information, views called from second_app.myapp also work OK. The problem comes when I access to the admin site (http://localhost:8000/admin), where only appears the first_app.myapp admin form instead of both. Can you help me? Thanks in advance. -
How to include information from a request in linkify in Tables2 in Django - using to populate a many-to-many relationship
I have a many to many relationship and am setting up a way to add a new relationship from a detail view of model1. I have set it up so I have a url mapped to create the relationship given pk(model1)/url/pk(model2). This is just a function that adds the many to many relationship, and redirects back to the detailview of model1. I have this working in a function based aproach, but would like to be able to display the list of available ModelB records using Tables2, but am strugling to figure out how to add the pk(model1) to linkify in the table as the table is based on model2 and this is not part of the definition of model2. Maybe there is a whole different way of aproaching this problem which is a better aproach? (lots of documentation and tutorials about setting up and dealing with a many-to-many relationship, but couldn't find any examples of doing this part other than in the shell) Here is what I have: models.py class Dmsesite(models.Model): ... class Job(models.Model): dmsesite = models.ManyToManyField(Dmsesite) ... urls.py path('<int:pk>/add_job/', views.DmsesiteAddJob, name='dmsesite_add_job'), path('<int:dmsesite_pk>/add_job_to_site/<int:job_pk>', views.DmsesiteAddJobToSite, name='dmsesite_add_job_to_site'), views.py class DmseSiteAddJobListView(PermissionRequiredMixin, SingleTableMixin, FilterView): permission_required = 'dmsesites.view_dmsesite' redirect_field_name = 'dashboard' table_class = DmsesiteJobTable filterset_class … -
FATAL: password authentication failed for user 'xxx' error when migrating to a postgresql db in RDS
I am trying to migrate to a PostgreSQL db in RDS from Django. The db was set up successfully but when I run python3 manage.py migrate I keep getting the error 'FATAL: password authentication failed for user'. The user name that it mentions is not the master username from RDS which is the same as my USER in settings. I have a .env file with the USER, ENGINE, PASSWORD etc that is being read correctly apart from the fact that it is not referencing the USER. It is referencing the username I use to log onto the computer which I also used when I set up a superuser in the venv. I have tried logging out from superuser which did nothing. I also tried deactivating the venv which seemed to solve the authentication issue though obviously none of the modules within the venv uploaded so I got errors from that. I tried changing the password in RDS but it is still trying to connect using the wrong user. I also tried making a new venv but still got the same error. The NAME in settings is set to postgres. Has anyone else had this issue? Any advice much appreciated. -
Django sessions cookie and login_required
I have a Django app where I don’t want to use database and session engine is signed cookies. I create a request.session[‘user’]=ssouser when a user is successfully logged in via SSO. However when I use login_required decorator user is not detected as logged in. Do I have to create my own way to check it from cookie and how can I do it ? Thanks -
Django how do you AutoComplete a ForeignKey Input field using Crispy Forms
Looking for any assistance as i just can't seem to get this. I have a 'category' field that has approx 4000 categories in it, sourced from my table "Category". When a user inputs their details they choose from the category field. This works fine as a drop down list but takes ages to scroll. I'd rather have the field as text entry so when they start typing, for example 'plum', then every category with 'plum' somewhere in it appears in the list so they can choose. They must also choose from list and not enter rubbish. Can anyone assist? Here's how it works just now with the drop down list, is there any way to change this (category1) to an autocomplete field? I've looked at django autocomplete_light but got nowhere. Models.py: class Category(models.Model): details = models.CharField(max_length=250, blank=True, null=True) def __str__(self): return self.details class Search(models.Model): name = models.CharField(max_length=200) email = models.CharField(max_length=200) category1 = models.ForeignKey('Category', blank=True, null=True, on_delete=models.CASCADE, related_name='category') Forms.py: class NewSearch(forms.ModelForm): class Meta: model = Search fields = ['name', 'email', 'category1'] def __init__(self, *args, **kwargs): super(NewSearch, self).__init__(*args, **kwargs) self.fields['category1'] = forms.ModelChoiceField(queryset=Category.objects.all().order_by('details')) self.helper = FormHelper() self.helper.form_show_labels = False Views.py: @csrf_exempt def search(request): my_form = NewSearch() if request.method == 'POST': my_form = NewSearch(request.POST) … -
How to initialise date time object from date time (string) in NetSuite (User Event - server side script)
Here, I have string date_time as "2022-10-27T01:35:48.354z" , the same and time i need to initialise as date time object with same and time as in given string. I have tried new Date() in javascript, format.parse, format.format in suitescript, moment library file too, but still could not get solution. Please help me on this. I will be thankful. -
how can I throw all the categories into the header
In my header there is a slide bar where you can immediately go to the selected category of the book. The question is, how can I throw all the categories into the header without throwing the variable with all the categories into all the views. Header, available on all pages of the site. For example, ruby has helpers where I can define a variable once, as it will be available in all controllers, and from this in all views. Сan i run {% for i in sometags %} or no ? I expect minimum duplication of code. I tried to do it through template tags. -
Is there a way to pass a string which contain muliple delimiter in Django?
Info: I want to make a queryset where i have pass a string. A string contain multiple delimiter , like a separator. I just want to know it is possible to pass a string with muliple delimiter and filter out the video which are match with the strings? def videosfilter(request): ''' videos filter ''' videos = Video.objects.filter(title__icontains='python programming,django framework') return videos -
Django Chat App - Capturing value from URL
I tried to create a simple Django Chat App. There is no login system. Whenever a user(e.g. John) tries to create a message, it stores under 'messageroom' I tried to pass the username 'John' value in the URL but somehow it is not creating a message as expected. Here is my code Urls.py : urlpatterns = [ path('admin/', admin.site.urls), path('',views.home,name='home'), path('checkview',views.checkview,name='checkview'), path('messageroom/<str:room_name>/<str:username>',views.messageroom,name='messageroom'), ] Models.py class Room(models.Model): roomname = models.CharField(max_length=1000) class Message(models.Model): messagetext = models.CharField(max_length=10000) username = models.CharField(max_length=1000) datetime = models.DateTimeField(default=datetime.now,blank=True) messageroom = models.CharField(max_length=1000) Views.py def home(request): return render(request,'home.html',{}) def checkview(request): room_name=request.POST.get('room_name') username = request.POST.get('username') Roomexists = Room.objects.filter(roomname=room_name) if Roomexists.exists(): return redirect('messageroom/'+room_name+'/'+username) else: newroom = Room(roomname=room_name) newroom.save() return redirect('messageroom/'+room_name+'/'+username) def messageroom(request,room_name,username): if request.method == "POST": messagetext = request.POST.get('message') newmessage = Message(messagetext=messagetext,messageroom=room_name,username=username) newmessage.save() listmessages = Message.objects.filter(messageroom=room_name) return render(request, 'room.html', {'listmessages':listmessages,'room_name':room_name,'username':username}) Room.html <form id="post-form2" method="POST" action="messageroom"> {% csrf_token %} <input type="text" name="message" id="message" width="100px" /> <input type="submit" value="Send"> </form> I want to create messages under the user which should be there on the URL. -
How to use DFR filters SearchFilter in django function based view?
I have a django view function. This function is using to list data. I want to add DRF SearchFilter in this function. SearchFilter works with ListAPIView succesfully but I couldn't make it works with function view. I tried the code below. I give search_fields list as view paramater but it returns back my queryset. Thanks for your help. def masterListView(request): master_queryset = Master.objects.all() search_filter = filters.SearchFilter() mastersearch_queryset = search_filter.filter_queryset(request, master_queryset) master_ser = MasterSerailizer(mastersearch_queryset, many=True) ... Note: filter_queryset takes, request, queryset and view parameters. I didn't notice what is function expected as view. In SearcFilter class definition there is a comment that said Search fields are obtained from the view, but the request is always passed to this method. Sub-classes can override this method to dynamically change the search fields based on request content. -
Django-Autocomplete-Light: Multiple fields mutually excluding selections
I is Django Autocomplete Light (DAL) to great effect. It works wonderfully and has done for years on a site of mine. I wanted recently to improve on little aspect of our implementation of it, namely to prevent multiple selection of the same value in a group of DAL widgets. Specifically we built a dynamic Django form with which a list of players can be submitted. There is a template row in a table, and every time you add a player, it copies the template row and adjusts the id of the widgets in the copy as needed and inserts it into the DOM (as a new row). This all works a charm. With the DAL widgets rendered in a select element with a name and id in the form of model-n-field which the POST handler validates wonderfully and all is good. These DAL widgets appear to render in the general form of: <select id="id_model-n-field" name="model-n-field" class="ModelChoiceField select2-hidden-accessible" data-autocomplete-light-language="en" data-autocomplete-light-url="/autocomplete/model/field" data-autocomplete-light-function="select2" data-select2-id="id_model-n-field" aria-hidden="true"> <option value="" selected="" data-select2-id="13">---------</option> </select> <span class="select2 select2-container select2-container--bootstrap select2-container--below select2-container--focus select2-container--open" dir="ltr" data-select2-id="12" style="width: 426.906px;"> <span class="selection"> <span class="select2-selection select2-selection--single ModelChoiceField" role="combobox" aria-haspopup="true" aria-expanded="true" tabindex="2" aria-disabled="false" aria-labelledby="select2-id_model-n-field-container" aria-owns="select2-id_model-n-field-results"> <span class="select2-selection__rendered" id="select2-id_model-n-field-container" role="textbox" aria-readonly="true"> <span class="select2-selection__placeholder"> </span> …