Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
'QuerySet' object has no attribute 'products'
I want to get all products in table's order. but I see this error. can you help me with that? here my models: from django.db import models from products.models import Product # Create your models here. class Table(models.Model): table_number=models.IntegerField(unique=True) def __str__(self): return f'{self.table_number}' class Order(models.Model): products=models.ManyToManyField(Product,related_name='products_order') table=models.ForeignKey(Table, on_delete=models.CASCADE,related_name='orders') def __str__(self) -\> str: return f'{self.table.table_number} {self.products} and my views: class TableDetailView(View): def get(self,request,id): table=Table.objects.get(id=id) order=Order.objects.filter(table__id=id) products=order.products #here is the problem context={'table':table,'products':products,} return render(request,'orders/table_detail.html',context) I also tried: `products=order.products.all()\` But I got similar error. -
Django can't identify which input field is being pressed
I can't seem to recognize the problem in my django project - I have a simple form with 2 "input" tags and I can't identify in my code which one is being pressed. front end: <form method="POST"> {% csrf_token %} <input type="image" value="accept" class="v" src="{% static 'main/assets/icons/v.png' %}"> <input type="image" value="decline" class="x" src="{% static 'main/assets/icons/x.png' %}"> </form> back end: if response.method == "POST": if response.POST.get("accept"): return render(response, "main/calender-page.html", {}) if response.POST.get("decline"): return render(response, "main/account-page.html", {}) I tried to search for answers in stack overflow and I never managed to find one that works. Thanks for the help! -
Can I have html tags in Django admin panel?
can I have this entry with all these tools such as bold, italic, title, etc: I mean s.th like this photo instead of this: default panel I've found this solution, but I want s.th better enter image description here -
Search function not working in Django / Bootstrap
I am facing problems in search functionality of Django. the function is as follows: def search(request): if request.method == 'GET': query = request.GET.get('query','') allPosts = Post.objects.filter(Q(title__icontains=query) | Q(content__icontains=query)) return render(request, 'dn/search.html', {'allPosts':allPosts, 'query':query}) the search form is as under: <form class ="{% url 'search' %} d-flex" method="get"> <input class="form-control me-2" type="text" name="query" placeholder="Search" aria-label="Search"> <button class=" text-white text-uppercase fw-bold btn btn-outline-primary light border-1 rounded-pill border-white border border-1" type="submit">Search</button> </form> the search page is as under: {%extends 'dn/base.html'%} {% block title %} Search Results | active {% endblock title %} {% block content %} <div class="container"> {% if allposts %} {% for querry in allposts %} <div class="row"> <div class = "col md-12"> <h3>{{querry.title}}</h3> <br> </div> <div class="col-md-12"> <p>{{querry.content}} </p> </div> </div> {% endfor %} {% else %} <p><h3> No Search Results </h3></P> {% endif %} </div> {%endblock%} However, while searching anything in the system is not showing the results. can you please guide me what i am missing to get the results. Thanking you. Regards SSA -
Django session data is lost when using HttpResponseRedirect
I have two simple views: def form_view(request): form = MyModelForm() if request.method == "POST": form = MyModelForm(request.POST) if form.is_valid() form.save() uuid = uuid4() request.session["uuid"] = uuid.hex return HttpResponseRedirect(reverse("thanks")) return render(request, "form.jinja2", {"form": form}) # the url obtained by reverse("thanks") maps to this view def redirect_view(request): if "uuid" in request.session: # this returns false in prodcution return render(request, "thanks.jinja2", {"uuid": request.session["uuid"]} return redirect("/") The code works in development, i.e I can fetch data from request.session, but in production it does not work, and I can't seem to figure out why. I have tried to set request.session.modified = True, set SESSION_COOKIE_SECURE = False in settings and also tried using request.session.set_test_cookie() and request.session.test_cookie_worked() in the two different views, i.e setting the cookie in form_view and testing the cookie in redirect_view, but it returned false. Interestingly, if I do this: def form_view(request): form = MyModelForm() if request.method == "POST": print(request.session.test_cookie_worked()) # this prints True! form = MyModelForm(request.POST) if form.is_valid() form.save() uuid = uuid4() request.session["uuid"] = uuid.hex return HttpResponseRedirect(reverse("thanks")) request.session.set_test_cookie() return render(request, "form.jinja2", {"form": form}) The test_cookie_worked() returns True. I have tried many of the solutions recommended when searching on something similar, but none of these work for me, and I don't know what else … -
Filter table as per the multiple dropdown selection
I have created the table using datatables. So I want to filter table as per the multiple dropdown selection. But I have multiple table with the same data. Actually the columns are too much, so to avoid so scrolling I have added the tables into the multiple tabs. Like: In TAB1 (columns : ID, Origin, Destination) | TAB2 (columns : ID , Driver Type, Product Type) etc.. here is my dropdown html Code: <div class="row"> <div class="col"> <div class="input-group mb-6"> <span style="padding: 4px 10px ;">Route Volume ></span> <input type="number" id="filterByVolumeAddOne" class="form-control" style="max-width: 80px; padding: 1px;margin-right: 1em;" aria-describedby="basic-addon1"> <select class="form-control ml-3" style="width: 15em !important; margin-left: 10px !important;" id="productFilterDropdown" multiple> {% for op in products %} <option value="{{op.product_name}}">{{op.product_name}}</option> {% endfor %} </select> <select class="form-control ml-3" style="width: 20em !important;" id="equipmentFilterDropdown" multiple> {% for op in Equipments %} <option value="{{op.equipment_name}}">{{op.equipment_name}}</option> {% endfor %} </select> <select class="form-control ml-3 mr-3" style="width: 15em !important;" id="driverFilterDropdown" multiple> {% for op in drivers %} <option value="{{op.driver_type}}">{{op.driver_type}}</option> {% endfor %} </select> <div class="input-group-prepend"> <span class="input-group-text" id="filterByVolumeGreater" style="background-color: #2980b9; color: aliceblue; padding: 6px; cursor: pointer;"><i class="fa fa-arrow-right"></i></span> </div> </div> </div> </div> table html code of TAB1: <table class="table dataTable table-striped table-bordered" id="routeData"> <thead class="thead-dark"> <tr> <th style="z-index: 2 !important;"></th> <th style="z-index: … -
Django model validation which uses a ManyToMany field
I have a model like this: class Offer(models.Model): condition_products = models.ManyToManyField( "shop.Product", blank=True, help_text="User needs to own at least one of these products.", ) condition_owned_after = models.DateField( blank=True, null=True, help_text="User needs to own at least one products after this date.", verbose_name="Owned after date", ) It's for a webshop where we can create offers with certain conditions. One of the conditions is that the user needs to already own one or more products, and a second condition is that this products needs to be owned after a certain date. I want to add validation to the model so that condition_owned_after can only be filled in when condition_product_variants is not None. But when I try to access condition_product_variants in the clean method I get a ValueError from Django. class Offer(models.Model): # ... def clean(self): if self.condition_owned_after and not self.condition_products.all(): raise ValidationError( { "condition_owned_after": "Cannot set condition_owned_after without also setting condition_products" } ) def save(self, *args, **kwargs): self.full_clean() return super().save(*args, **kwargs) This results in the following error: ValueError: "<Offer: Offer object (None)>" needs to have a value for field "id" before this many-to-many relationship can be used I understand the error, but I don't understand how to work around it. How can I … -
Django is trying to use PSQL 9.6, while 12.15 is installed, raising a "raise NotSupportedError"
I verified that I actually have: (PostgreSQL) 12.15 (Ubuntu 12.15-1.pgdg22.04+1), when I run the command psql --version. When I run python3 manage.py dbshell, I get this result: psql (12.15 (Ubuntu 12.15-1.pgdg22.04+1), server 9.6.24) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) I tried ps aux | grep postgres and I see a list with only 12/main, and there is no 9.6.24 anywhere as the Error indicated. -
Only display the Value of a ForeignKey and not <model> object(...) in Template
I have a Django Modal with ForeignKeys. class clientvul(models.Model): client= models.ForeignKey(client, on_delete=models.CASCADE) VID=models.ForeignKey(vul, on_delete=models.CASCADE) Path=models.CharField(max_length=1000) Product=models.CharField(max_length=1000) isActive=models.BooleanField(default=True) class Meta: constraints = [ models.UniqueConstraint( fields=['client', 'VID'], name='unique_migration_host_combination' ) ] I've created a qs vul1=clientvul.objects.all() in a View. When I try to display the Data on a Template it Displays vul object(4803) I want to only display the 4803. -
ImportError: cannot import name 'reflections' from 'chatbot'
It doesn't work even I've imported from chatbot import Chat, reflections, multiFunctionCall.Let show me the way if you can deal with a issue It doesn't work even I've imported from chatbot import Chat, reflections, multiFunctionCall.I expect the way How to solve this problem -
"file wasn't available on site" error while it does exist, Django
I am programming a web that gets a .csv or .xlsx dataset, processes it, and returns it to the user using Django. I should say it is working OK on localhost. but not in a real server. views.py for creating a project and receiving the file: from django.core.files.storage import FileSystemStorage def create_prject(request): if request.method == 'POST': user = request.user name = request.POST.get('pname') data = request.FILES['data'] frequency = request.POST.get('frequency') unit = request.POST.get('unit') fs = FileSystemStorage(location=f'Media/Projects/{user}') filename = fs.save(data.name, data) dataurl = f'/Media/Projects/{user}/{filename}' header = request.POST.get('header') if header is not None: Project.objects.create(ProUser=user, Name=name, Data=filename, DataURL=dataurl, Header=True, Frequency=str(frequency), Unit=unit) else: Project.objects.create(ProUser=user, Name=name, Data=filename, DataURL=dataurl, Header=False, Frequency=str(frequency), Unit=unit) return redirect('dashboard') and after processing I want to return to user the files (the raw file and processed file must be downloadable). views.py after processing: def process(request): user = request.user if not user.is_authenticated: return redirect('login') else: if request.method == 'POST': # Some Processing Functions and creating the pandas.DataFrame excel_file = f'Despiked - {project.Name}.xlsx' dff.to_excel(excel_file, index=False) fs = FileSystemStorage(location=f'Media/Projects/Despiked/{user}') filename = fs.save(excel_file, open(excel_file, 'rb')) os.remove(excel_file) project.Processed_Data = filename project.Processed_DataURL = f'/Media/Projects/Despiked/{user}/{filename}' project.save() return redirect('dashboard') the download button will be shown in the template. but when I click on each file (raw or processed) I get the "File … -
Django django.db.backends.postgresql no available database error
I have this error and I don't have a typo django.core.exceptions.ImproperlyConfigured: '"django.db.backends.postgresql"' isn't an available database backend. Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'postgresql', 'sqlite3' I've also tried with posgresql_psycopg2 since my django version is Django==2.2.28 I'm having this issue while I'm trying to run tests with tox. It works with django.db.backends.sqlite3but I want to run tests on postgres These are my deps from logs + docker compose -f docker-compose-test.yml exec -i -t test bash -c 'tox -e full_test ; chown 1563162805:1138207179 -R .' full_test installed: amqp==2.6.1,appdirs==1.4.4,asn1crypto==0.22.0,astroid==2.3.3,attrs==22.2.0,Authlib==1.2.1,backcall==0.2.0,beautifulsoup4==4.7.1,bento3 @ file:///bento3/.tox/.tmp/package/16/bento3-3.109.0.zip,billiard==3.6.4.0,boto3==1.14.23,botocore==1.17.63,bump2version==1.0.1,celery==4.4.7,certifi==2022.9.24,cffi==1.15.1,chardet==3.0.4,charset-normalizer==2.0.12,contextlib2==0.5.4,coreapi==2.3.3,coreschema==0.0.4,coverage==6.2,cryptography==3.4.7,cssselect==1.0.3,dateutils==0.6.8,decorator==5.1.1,defusedxml==0.7.1,distlib==0.3.7,Django==2.2.28,django-appconf==1.0.2,django-celery-results==2.2.0,django-classy-tags==2.0.0,django-debug-toolbar==3.1.1,django-elasticache==1.0.3,django-extensions==3.1.3,django-filer==0.9.115,django-filer-rest==1.4.6,django-filter==2.4.0,django-heartbeat==2.0.3,django-http-auth==2.0.0,django-identity-consumer==1.0.9,django-js-asset==2.0.0,django-mptt==0.11.1,django-polymorphic==2.1.2,django-rest-swagger==2.0.4,django-sekizai==2.0.0,django-simple-history==3.0.0,django-storages==1.9.1,django-tagging==0.5.0,django-tastypie==0.12.2,django-waffle==0.12.0,django-webpack-loader==0.7.0,djangorestframework==3.13.1,djangorestframework-jsonapi==3.1.0,docutils==0.15.2,easy-thumbnails==2.7,enum34==1.1.6,execnet==1.9.0,factory-boy==2.12.0,Faker==5.0.0,feedparser==6.0.8,filelock==3.4.1,google-api-python-client==1.3.1,httplib2==0.22.0,idna==3.4,importlib-metadata==1.7.0,importlib-resources==3.2.1,inflection==0.3.1,iniconfig==1.1.1,ipaddress==1.0.18,ipdb==0.13.9,ipython==7.16.1,ipython-genutils==0.2.0,isort==4.3.21,itypes==1.1.0,jedi==0.19.0,Jinja2==3.0.3,jmespath==0.10.0,json-schema-validator==2.4.1,kombu==4.6.11,lazy-object-proxy==1.4.4,lxml==4.7.1,MarkupSafe==2.0.1,mccabe==0.6.1,newrelic==7.16.0.178,oauth2client==1.5.2,objectpath==0.6.1,openapi-codec==1.0.0,packaging==21.3,parso==0.8.3,pbs-account-consumer==1.7.2,pbs-api-adapters==0.3.15,pexpect==4.8.0,pickleshare==0.7.5,Pillow==8.4.0,pluggy==0.13.1,prompt-toolkit==3.0.36,psutil==5.7.0,psycopg2==2.7.3.2,ptyprocess==0.7.0,py==1.11.0,pyasn1==0.1.9,pyasn1-modules==0.0.8,pycparser==2.18,pycurl==7.43.0.6,Pygments==2.14.0,pylibmc==1.5.2,pylint==2.4.2,pylint-celery==0.3,pylint-django==2.0.11,pylint-plugin-utils==0.7,pyOpenSSL==21.0.0,pyparsing==3.1.1,pytest==6.1.2,pytest-cov==2.8.1,pytest-django==4.4.0,pytest-factoryboy==2.0.3,pytest-forked==1.4.0,pytest-xdist==1.34.0,python-dateutil==2.5.3,python-googleanalytics==1.0.2,python-memcached==1.53,python-mimeparse==1.5.2,python3-openid==3.1.0,pytz==2023.3,redis==3.5.3,requests==2.26.0,rfc3987==1.3.7,rfeed==1.1.1,rsa==4.9,s3transfer==0.3.7,sentry-sdk==1.9.10,sgmllib3k==1.0.0,simplejson==3.8.2,six==1.10.0,soupsieve==1.9.5,sqlparse==0.4.4,text-unidecode==1.3,toml==0.10.2,tox==3.24.4,traitlets==4.3.3,typed-ast==1.4.3,typing-extensions==4.1.1,Unidecode==1.1.2,uritemplate==0.6,urllib3==1.26.7,vine==1.3.0,virtualenv==20.0.23,wcwidth==0.2.6,wrapt==1.11.2,zipp==1.2.0 full_test run-test-pre: PYTHONHASHSEED='2000759817' My python version is 3.6 -
How to use ModelChoiceField and ModelMultipleChoiceField without duplication in the database
I have a (main) Model that has multiple fk's class ParkingSpace(models.Model): name = models.CharField(max_length=50, blank=False) description = models.TextField(blank=False) image = models.ImageField(null=True, upload_to="images/parking_spaces") price = models.ForeignKey('Price', on_delete=models.CASCADE, null=True, blank=False) opening_hours = models.ForeignKey('OpeningHours', on_delete=models.CASCADE, null=True, blank=False) location = models.OneToOneField('Location', on_delete=models.CASCADE, null=True, blank=False) size = models.ForeignKey('Size', on_delete=models.CASCADE, null=True, blank=False) type = models.ForeignKey('Type', on_delete=models.CASCADE, null=True, blank=False) features = models.ManyToManyField('Features', blank=False, db_table='ParkingSpaceFeatures') reviews = models.ManyToManyField('Review', blank=False, db_table='ParkingSpaceReviews') contact_information = models.ForeignKey('ContactInformation', on_delete=models.CASCADE, null=True, blank=False) seller_account = models.ForeignKey('Account', on_delete=models.CASCADE, null=True, blank=False) Let me use size in this example: class Type(models.Model): STREET = "ST" # Parking space that is on the street PARKINGKLOT = "PL" # Parking space that is a parking lot (car park) PRIVATE = "PV" # Parking space that is being rented out by an individual TYPE_CATEGORY_CHOICES = [ (STREET,"Street Parking"), (PARKINGKLOT, "Car Park"), #used Car Park as user-friendly text as more commonly used (PRIVATE, "Private Parking") ] type_category = models.CharField(max_length=2,choices=TYPE_CATEGORY_CHOICES,blank =False,null=True) Now I want to create a form where the user will be able to enter the information to create a parking space. For fields such as size,type and features the form ModelChoiceField or ModelMultipleChoiceField will be used. The problem is when I use this and save it to the database there is dupliaction? … -
save user to db,if I have two customusers.How do i save them and generate JWT using SimpleJWT in DRF
I Have two Customusers in my project, The main Customuser: lass CustomUserManager(BaseUserManager): def create_user(self, email, password=None, **extra_fields): if not email: raise ValueError('The Email field must be set') email = self.normalize_email(email) user = self.model(email=email, **extra_fields) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, email, password=None, **extra_fields): extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_superuser', True) if extra_fields.get('is_staff') is not True: raise ValueError('Superuser must have is_staff=True') if extra_fields.get('is_superuser') is not True: raise ValueError('Superuser must have is_superuser=True') return self.create_user(email, password, **extra_fields) class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(unique=True,null=False) profile_picture = models.ImageField(upload_to='profile_pics/', null=True, blank=True) first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) date_of_birth = models.DateField(null=True, blank=True, default=None) phone_number = models.CharField(max_length=20, blank=True,null=True) address = models.TextField(blank=True) total_tickets_sold = models.PositiveIntegerField(default=0) total_tickets_bought = models.PositiveIntegerField(default=0) is_verified = models.BooleanField(default=False) kyc_verified = models.BooleanField(default=False) social_media_account = models.CharField(max_length=100, blank=True) bank_account_name = models.CharField(max_length=100, blank=True) bank_account_iban = models.CharField(max_length=100, blank=True) bank_account_name_on_card = models.CharField(max_length=100, blank=True) user_rating = models.IntegerField(default=0) last_login = models.DateTimeField(null=True, blank=True) delete_account_request = models.BooleanField(default=False) user_tags = models.CharField(max_length=100, blank=True) account_creation_date = models.DateTimeField(auto_now_add=True) USER_TYPE_CHOICES = ( ('buyer', 'Buyer'), ('seller', 'Seller'), ) user_type = models.CharField(max_length=10, choices=USER_TYPE_CHOICES, default='buyer') ACCOUNT_STATUS_CHOICES = ( ('active', 'Active'), ('suspended', 'Suspended'), ('banned', 'Banned'), ) account_status = models.CharField(max_length=10, choices=ACCOUNT_STATUS_CHOICES, default='active') is_staff = models.BooleanField(default=False) # groups = models.ManyToManyField(Group, blank=True, related_name='customuser_set') # user_permissions = models.ManyToManyField(Permission, blank=True, related_name='customuser_set') objects = CustomUserManager() USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['first_name', 'last_name'] And also … -
Occasionally slow Redis requests from Django
On a Django application we are using Redis as caching backend using the django-redis package. While this works generally well there are occasionally Redis requests which are quite slow, ranging from a hundreds of milliseconds up to 4-5 seconds (!). The affected slow requests are simple GET and SET requests on various keys. A few of the keys have a little larger values like up to 180 KB but it happens also on keys with smaller values. We use Sentry's performance data feature to identify the slow requests. Those slow requests happen only one or two times a day, we didn't found a particular pattern or a way to reproduce it. Redis' slowlog does not show any of those slow requests, the slowest query listed is about 200ms and is not related to the slow queries we see in Sentry. The whole setup is hosted in the OpenTelekomCloud, which is some sort of an OpenStack instance. The Django application is running on multiple PODs in a Kubernetes cluster and the Redis server is a managed instance of the hosting provider (Kubernetes and Redis server are in the same VPC and same subnet). The Redis server is used almost exclusively as … -
django messages TemplateSyntaxError
I've been trying to use messages in django. I checked everything but keep getting this error below. TemplateSyntaxError at /home/ 'messages' is not a registered tag library. Must be one of: admin_list admin_modify admin_urls cache i18n l10n log static tz I made sure all the settings are properly configured in settings.py INSTALLED_APPS = [ 'schedule_app', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] <h2> {% if messages %} {% for message in messages %} {% message %} {% endfor %} {% endif %} </h2> I also tried {% load messages %} on top of the template but still not working.. -
How to disable the back browser button after a user logs into a profile
I am trying to make a user not be able to go back to the login page from a profile page after logging in I have tried using @never_cache but it still seems to be saving the session and I can go back with the browser back button without logging out. I have then implemented the@cache_control(max_age=0, no_cache=True, no_store=True, must_revalidate=True) and its did not work. I then tried adding a random_string and timestamp after the login url but this made the profile page unreachable Here is my current user_login view: @cache_control(max_age=0, no_cache=True, no_store=True, must_revalidate=True) #Ensure you cant go back to login with the browser back button def user_login(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: messages.success(request, 'Logged in successfully') # Display success message login(request, user) timestamp_query_param = int(timezone.now().timestamp()) return redirect(f'profile/?t={timestamp_query_param}') # Handling authentication failure else: messages.error(request, 'Account does not exist or password is wrong') # Display error message and redirect the same page return render(request, 'login.html', {'error_message': 'Invalid credentials'}) return render(request, 'login.html') -
Advice for converting a web application (Django REST backend, React frontend) into a desktop application
I've been working on a web application which has pivoted, and now I'd like to convert it into a deployable desktop application. The frontend is made with React, and the backend is made using Django REST, along side some necessary services such as Celery, RabbitMQ, and Reddis. What would be the best practice here? Ideally I'd love to have everything shippable as a singular installation package, but I'm not sure that's feasible without scrapping the frontend and just making the whole app in Django. Any advice would be appreciated! -
Migrate the Databse from Sqlite3 to PostgreSQL
I want to change the databse of my django application from default(sqlit3) to PostgreSQL for better productivity I have Mayan EDMS App which is designed in Django and used SQLite3 as the database in the back-ends and i want to change the database of my Django app from SQLite3 to PostgreSQL Please help to to acheive this functionality i have tried by changing the databse details and i expect to achevie that functionality -
Django formset get all parameter value issue
I have a listview that show data in table, I have create a form that filter the data and show in table (working), but I want to make a formset, add filter condition and get all values without any success. views.py class CmsView(ListView): queryset = Cmsexport.objects.all().values() model = Cmsexport form_class = CmsFilterForm template_name = 'table.html' context_object_name = 'table' paginate_by = 10 def get_queryset(self): queryset = super(CmsView, self).get_queryset() field = self.request.GET.get('field') lookup = self.request.GET.get('lookup') value = self.request.GET.get('value') reset = self.request.GET.get('btn-reset') if (field and lookup and value) is not None: query = field.lower().replace(" ", "_") + '__' + lookup queryset = Cmsexport.objects.filter(**{ query: value }).values() if reset: queryset = Cmsexport.objects.filter().values() return queryset def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['form'] = CmsFilterForm() context['formset'] = CmsFormSet(queryset=Cmsexport.objects.none()) return context forms.py class CmsFilterForm(ModelForm): class Meta: model = Cmsexport #fields = ['name', 'state_text'] fields = '__all__' CmsFormSet = modelformset_factory( Cmsexport, fields = '__all__', extra=1 ) Any idea? -
Django:UNIQUE constraint failed: users_profile.user_id
I am using a Form to create a registration feature for my website. However, when I try to register, I encounter the following issue. Strangely, in the admin database, a user and profile have been successfully created. Can anyone please help me identify what might be causing this problem django.db.utils.IntegrityError: UNIQUE constraint failed: users_profile.user_id model from django.db import models from django.contrib.auth.models import User import uuid # Create your models here. from django.db.models.signals import post_save, post_delete from django.dispatch import receiver class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, null=True , blank=True) name = models.CharField(max_length=200, blank=True, null=True) email = models.EmailField(max_length=500, blank=True, null=True) username = models.CharField(max_length=200, blank=True, null=True) location = models.CharField(max_length=200, blank=True, null=True) short_intro = models.CharField(max_length=200, blank=True , null=True) bio = models.TextField(blank=True, null=True) profile_image = models.ImageField( null=True, blank=True, upload_to='profiles/', default='profiles/user-default.png') social_github = models.CharField(max_length=200, blank=True, null=True) social_twitter = models.CharField(max_length=200, blank=True, null=True) social_linkedin = models.CharField(max_length=200, blank=True, null=True) social_youtube = models.CharField(max_length=200, blank=True, null=True) social_website = models.CharField(max_length=200, blank=True, null=True) created = models.DateTimeField(auto_now_add=True) id = models.UUIDField(default=uuid.uuid4, unique=True, primary_key=True, editable=False) def __str__(self): return str(self.username) class Meta: ordering = ['created'] class Skill(models.Model): owner = models.ForeignKey(Profile, on_delete=models.CASCADE, null=True, blank=True) name = models.CharField(max_length=200, blank=True, null=True) description = models.TextField(blank=True, null=True) created = models.DateTimeField(auto_now_add=True) id = models.UUIDField(default=uuid.uuid4, unique=True, primary_key=True, editable=False) def __str__ (self): return str(self.name) #@receiver(post_save, … -
TypeError: data.map is not a function in react and django
I'm using Axios to retrieve data from the backend. When I log the data to the console, it appears as an object. However, I need the data to be in an array format. When I try to use the map function on the data, it gives me an error stating that data.map is not a function. I am using django in backend function Search() { const [data,setData] = useState([]) // setting data as array i had also used null here useEffect(()=>{ axios.get("http://127.0.0.1:8000/api/listing") //using axios api .then(response =>{ setData(response.data) console.log(response.data) //data is appears as object when do console.log }) .catch(error =>{ console.log("Error fetching data:",error) }); },[]); return ( <div> <h1>Fetched Data</h1> {/* <ul> //data.map is not a function {data.map(item =>( <li key={item.id}>{item.title}</li> ))} </ul> */} </div> ) } export default Search I have checked wheather data from backend is in form of array or object and i got that the data is not in form of array if (Array.isArray(response.data)) { setData(response.data); } else { console.error('Data is not an array:', response.data); } after that i tried to convert data to array in two ways .then((response) => { //if data is not in array convert it into array const dataArray = Array.isArray(response.data) ? … -
why is django import export not working for me
I have the following model for a website category class Category(models.Model): name = models.CharField(max_length=50) description = models.TextField(max_length=500, blank=True, null=True) parent = models.ForeignKey('self', on_delete=models.CASCADE, blank=True, null=True ,related_name='sub_categories') created_at = models.DateTimeField(auto_now_add=True, verbose_name="created at") updated_at = models.DateTimeField(auto_now=True, verbose_name="updated at") class Meta: verbose_name = "category" verbose_name_plural = "categories" db_table = "website_categories" unique_together = ('name', 'parent',) def __str__(self): return self.name I have installed django-import-export model and have the following set up for the admin from .models import * from import_export import resources from import_export.admin import ImportExportModelAdmin from django.contrib.auth import get_user_model User = get_user_model() class WebsiteAdmin(admin.ModelAdmin): list_display = ("url", "category", "user") search_fields = ["url", "category", "user"] class ServiceCategoryAdmin(admin.ModelAdmin): list_display = ("name",) search_fields = ["name"] class ProductCategoryAdmin(admin.ModelAdmin): list_display = ("name",) search_fields = ["name"] class CategoryResource(resources.ModelResource): class Meta: model = Category fields = ('id', 'name', 'description',) class CategoryAdmin(ImportExportModelAdmin): list_display = ("name",) search_fields = ["name"] resource_classes = [CategoryResource] admin.site.register(Website, WebsiteAdmin) admin.site.register(ServiceCategory, ServiceCategoryAdmin) admin.site.register(ProductCategory, ProductCategoryAdmin) admin.site.register(Category, CategoryAdmin) On the admin side I see the import and export buttons and I am able to import a file but the data is not getting correctly imported and the only thing getting generated is the id. So for every line in the csv doc the id is generated bu not the name nor … -
Atomic Transactions not working in Django
I have a Django function which does a very basic create/update operation and I was trying to implement atomic block for transactions but it doesn't seem to work. The implementation is very straight forward but I am still unable to do the rollback so I am wondering if I am doing something wrong or missed some config. with transaction.atomic(): try: auth_user_data['email'] = email auth_user_data['first_name'] = first_name auth_user_data['last_name'] = last_name user = User.objects.using('xyz').create(**auth_user_data) auth_user_data['id'] = user.id user_securities_data['zipcode'] = address_info['zipcode'] user_securities_data['address'] = address_info['address'] user_securities_data['country'] = address_info['country'] user_securities_data['user_id'] = user.id user_securities_data['abc'] = user.id user = Profile.objects.using('xyz').create(**user_securities_data) except Exception as e: print("ERROR___________", e) What I am trying to achieve here is the first create to the DB should be success and the second create DB should be a failure and that would revert both the operations. -
Django pytest in docker-compose django.db.utils.OperationalError
I've docker-compose configuration for django and postgres, it works fine. However, when I'm trying to run pytest inside a django container it fails with an error: pytest apps/service/tests/test_api.py::TestCreate::test_new ====================================================================== test session starts ======================================================================= platform linux -- Python 3.8.18, pytest-7.4.1, pluggy-1.3.0 django: settings: project.settings.local (from env) rootdir: /app/code configfile: pytest.ini plugins: mock-3.11.1, django-4.5.2, Faker-19.6.1, celery-4.4.2 collected 1 item apps/service/tests/test_api.py E [100%] ============================================================================= ERRORS ============================================================================= __________________________________________________ ERROR at setup of TestCreate.test_new __________________________________________________ self = <django.db.backends.postgresql.base.DatabaseWrapper object at 0xffff71cedf70> @async_unsafe def ensure_connection(self): """Guarantee that a connection to the database is established.""" if self.connection is None: with self.wrap_database_errors: > self.connect() /usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py:219: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.8/site-packages/django/utils/asyncio.py:33: in inner return func(*args, **kwargs) /usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py:200: in connect self.connection = self.get_new_connection(conn_params) /usr/local/lib/python3.8/site-packages/django/utils/asyncio.py:33: in inner return func(*args, **kwargs) /usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py:187: in get_new_connection connection …