Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
unable to install django-allauth
When trying to install django-all auth with pip i get this error: Collecting django-allauth Using cached django-allauth-0.51.0.tar.gz (709 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [20 lines of output] Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 14, in <module> File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 12, in <module> import setuptools.version File "/usr/lib/python3/dist-packages/setuptools/version.py", line 1, in <module> import pkg_resources File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 77, in <module> __import__('pkg_resources.extern.packaging.requirements') File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module> from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 672, in _load_unlocked File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible File "/usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py", line 43, in load_module __import__(extant) File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 943, in <module> collections.MutableMapping.register(ParseResults) AttributeError: module 'collections' has no attribute 'MutableMapping' [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. I'm on Ubuntu 18.04.6 LTS and using python3.10. I've tried updating pip. installing setuptools, build-essential, g++. With no result. -
OSMnx I want to get the time distance of the routes in minutes
Right now I have in meters, how do I convert them to minutes? orig_node = ox.nearest_nodes(G, X=fromLatLng[1], Y=fromLatLng[0]) dest_node = ox.nearest_nodes(G, X=toLatLng[1], Y=toLatLng[0]) # gets route in meters pathDistance = nx.shortest_path_length(G, orig_node, dest_node, weight='length') print('pathDistance: ', pathDistance) Here is an example of what it printed from one of my route distances. pathDistance: 3192.146999999999 Here are some more information: I don't know how much 3192.146999999999 Meters are in minutes. It would be hard to know when roads got different speed limits and also traffic lights. The vehicle type I'm using is Motorcycle or car, but I think I will mostly use Motorcycles, I don't even think I will use car, but maybe I will. I'm also doing this in Django, so not sure if Django would make this any easier. -
How to display category and subcategory in post serializer django-rest-framework
I need to extract categories and subcategories in Post serializer, because I need to put pagination, if I put pagination in category view, different amount of posts will come, so I need to put pagination in Post view, I need to return response so that it looks like this and I want to create rest api to return nested json like this [ { "id": 1, "title": "Taomlar", "subcat": [ { id: 2, title: "Milliy", post: [ { id: 1, title: 'Palov', summa: 300000, ... }, { id: 2, title: 'Palov', summa: 300000, ... }, ] }, ] } ] models.py class Category(Base): title = models.CharField(max_length=200) parent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children') def __str__(self): return self.title class Post(Base): title = models.CharField(max_length=225) category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='post') serializers.py class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = '__all__' class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = '__all__' Can anyone please give me the solution for this problem -
model doesn't have migrations
I am working on the Django model. I migrate all the files of the app, but it is showing me the model doesn't have migrations and also no migration file in the folder, but init.py file exists in the folder. Please give me suggestions. admin [X] 0001_initial [X] 0002_logentry_remove_auto_add [X] 0003_logentry_add_action_flag_choices auth [X] 0001_initial [X] 0002_alter_permission_name_max_length [X] 0003_alter_user_email_max_length [X] 0004_alter_user_username_opts [X] 0005_alter_user_last_login_null [X] 0006_require_contenttypes_0002 [X] 0007_alter_validators_add_error_messages [X] 0008_alter_user_username_max_length [X] 0009_alter_user_last_name_max_length [X] 0010_alter_group_name_max_length [X] 0011_update_proxy_permissions [X] 0012_alter_user_first_name_max_length contenttypes [X] 0001_initial [X] 0002_remove_content_type_name sessions [X] 0001_initial -
Refresh a page when something new appears in Django
I'm creating a website for a local establishment that uses Ifood. Ifood provides an API that allows you to check information, both regarding establishments and incoming orders. The code is ready, but I can only show a new order update when manually refreshing the page. Which is a bit shippable. I thought about putting an automatic update with JavaScript at the given time, but it would be an ugly workaround. In this case, I'm getting JSON data, but in a more general context. How could I refresh the page as soon as new data appears? -
Filter serialized data with SerializerMethodField value in ModelSerializer in Django
There is SerializerMethodField 'schedule_name' in ModelSerializer in Django. schedule_name = serializers.SerializerMethodField() def get_schedule_name(self, obj): schedule_name = obj.name if obj.department is not None: schedule_name = obj.department.name + '-' + obj.name return schedule_name I want to filter by passing value for this 'schedule_name' in the serialized data. -
Is there a way to add the date field in models in a "from to" pattern for billing periods - Django
I am trying to add a billing period in the invoices that I am generating. Currently my model contains two seperate date fields, one that stores the start date of the billing period and the other stores the end date of the billing period. The model looks as below class Bill(models.Model): billing_period_start = models.DateField(null=True, blank=True) billing_period_end = models.DateField(null=True, blank=True) Question : Is there a way to add the two seperate date fields in a same model field so that I can get a from "DateField" to "DateField" pattern in the admin pannel and have the billing period in a single field. -
Cannot do axios PUT request in Django REST+ React framework - Request failed with status code 400
When i try to update data in my Django SQLite database through reactJS it shows an error like this, but it works the last day fine even though I didn't change any code here now it's now working and it shows error that I had mentioned below PUT http://127.0.0.1:8000/employee/1 400 (Bad Request) AxiosError {message: 'Request failed with status code 400', name: 'AxiosError', code: 'ERR_BAD_REQUEST', config: {…}, request: XMLHttpRequest, …} // Update Employee const updateEmployee = (id) => { Axios.put("http://127.0.0.1:8000/employee/"+id, { name: name, age: age, email: email, designation: designation }); console.log(Axios.put); Swal.fire("Updated!", "", "success"); // window.location.reload(); }; return( <> <h1 className="text-left text-danger">Update Employee</h1> <div className="container"> <div className="row"> <div className="col-md-12"> <div className="form-group"> <label>Name</label> <input type="text" className="form-control" placeholder="Enter Name" defaultValue={data.name} onChange={(e) => setName(e.target.value)} /> </div> <div className="form-group"> <label>Age</label> <input type="text" className="form-control" placeholder="Enter Age" defaultValue={data.age} onChange={(e) => setAge(e.target.value)} /> </div> <div className="form-group"> <label>Email</label> <input type="text" className="form-control" placeholder="Enter Email" defaultValue={data.email} onChange={(e) => setEmail(e.target.value)} /> </div> <div className="form-group"> <label>Designation</label> <input type="text" className="form-control" placeholder="Enter Designation" defaultValue={data.designation} onChange={(e) => setDesignation(e.target.value)} /> </div> <div className="mt-2"> <button className="btn btn-primary" onClick={() => updateEmployee(data.id)}>Update</button> <Link className="btn btn-danger mx-2" to="/">Cancel</Link> </div> </div> </div> </div> </> ) -
Django, relating model to another app models field
First off this may not be the best way to set this up, however, I'm learning as I go and struggling to find the correct answer. I have an Account app which handles the user signup, I added the couple_choice option which I'm trying to get in another app's model. ACCOUNT model class Account(AbstractBaseUser): COUPLE_CHOICE = Choices('single', 'couple') email = models.EmailField(verbose_name="email", max_length=60, unique=True) username = models.CharField(max_length=30, unique=True) date_joined = models.DateTimeField(verbose_name='date joined', auto_now_add=True) last_login = models.DateTimeField(verbose_name='last login', auto_now=True) is_admin = models.BooleanField(default=False) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False) profile_image = models.ImageField(max_length=255, upload_to=get_profile_image_filepath, null=True, blank=True, default=get_default_profile_image) hide_email = models.BooleanField(default=True) couple_choice = models.CharField(choices=COUPLE_CHOICE, default='single', max_length=20) I then have another app Profile, which I want to make the couple = to the Account.account.couple_choice, or if the Account.couple.choice is 'couple' then Profile.couple = True from account.models import Account class Profile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,blank=True, null=True, related_name="swinger") couple = models.ManyToManyField(Account, to_field="couple_choice", blank=True, null=True,related_name="is_couple", on_delete=models.CASCADE) PLease let me know the best way to do this? Thanks -
ModuleNotFoundError: No module named 'my_site': when AWS CodePipeline (GitHub) deploy to Elastic Beanstalk (Django)
I've been stuck on this problem for 3 weeks. I've connected my GitHub to AWS CodePipeline and AWS CodePipeline is trying to deploy the code to AWS Elastic Beanstalk, but I keep getting the same error and can't figure out the solution. My ProcFile: web: gunicorn my_site.wsgi:application My file structure: -- .ebextensions -- django.config -- ProcFile -- tq_django -- my_site -- wsgi.py My wsgi.py import os import sys sys.path.insert(0, '/var/app/current/tq_django/my_site') from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_site.settings') application = get_wsgi_application() My django.config within .ebextensions option_settings: aws:elasticbeanstalk:container:python: WSGIPath: my_site.wsgi:application aws:elasticbeanstalk:application:environment: DJANGO_SETTINGS_MODULE: my_site.settings aws:elasticbeanstalk:environment:proxy:staticfiles: /tq: static -
Use original template under admin directory
I have django script with administration page /admin Now I want to make another page /customdata for administration purpose. However in this page , customdata is not related to specific model, it just shows the system overview data. It is just the normal template. Now I have two ideas. Making independent www.myexample.com/customdata page and set authentication. Linking this under www.myexample.com/admin/customdata and treat it as admin page 2 sounds usefule to me, because pages for administration purpose should be togetter. However is it possible? or is it not good behaivor? -
Django (django-rest-framework) with Bootstrap Autocomplete. Filed Nameing
I want to autocomplate a field. But i can't figure out how i can accomplish properly because i don't know yet what is the industry standard. Seems to be the Bootstrap Autocomplete expect an particular field naming like this. I think this is hardcoded. (the "text" at least): [ { "value": 1, "text": "Google Cloud Platform" }, { "value": 2, "text": "Amazon AWS" }, { "value": 3, "text": "Docker" }, { "value": 4, "text": "Digital Ocean" } ] How i can alter/mask the filed names from ['id','provider'] to ['value','text'] in Django side? Let say i have: #modell class CloudProviders(models.Model): provider = models.CharField(max_length=255, blank=True, null=True) #id come by default ... #Serializer class CloudProvidersAutocompleteSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = CloudProviders fields = ['id','provider'] #view class CloudProvidersAutocomplete(viewsets.ModelViewSet): model = CloudProviders serializer_class = CloudProvidersAutocompleteSerializer def get_queryset(self): query= self.request.query_params.get('search') if query : data = CloudProviders.objects.filter(provider__contains=query) return data UPDATE I have a solution but the question still open, because i don't know if this is a proper solution: #modell class CloudProviders(models.Model): provider = models.CharField(max_length=255, blank=True, null=True) #id come by default def _getProvider (self): return self.provider text = property(_getProvider ) ... -
Django Rest Framework Serializers causing errors while Creating Serializers for circular dependent Models
I have these models in my app class Social_Data(models.Model): sdid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) youtube = models.CharField(max_length = 400) twitter = models.CharField(max_length = 400) github = models.CharField(max_length = 400) class Company(models.Model): name = models.CharField(max_length = 100) logo = models.FileField(upload_to = "media/") summary = models.CharField(max_length = 400, default="") advocates = models.ManyToManyField('Advocate', related_name="advocates", default="", blank=True) href = models.CharField(max_length = 100,default = "", blank = True, null=True) class Advocate(models.Model): name = models.CharField(max_length = 200) profile_pic = models.FileField(upload_to = "media/") short_bio = models.CharField(max_length = 300, blank=True) long_bio = models.CharField(max_length = 400, null=True, blank=True) advocate_years_exp = models.IntegerField(default = 0) company = models.ForeignKey(Company, null = True, on_delete=models.SET_NULL) links = models.OneToOneField(Social_Data, null = True, on_delete=models.SET_NULL) and these are my serializers.py from rest_framework import serializers from .models import * class SocialDataSerializer(serializers.ModelSerializer): class Meta: model = Social_Data # fields = "__all__" exclude = ["sdid"] class AdvocateSerializer(serializers.ModelSerializer): company = CompanySerializer() links = SocialDataSerializer() class Meta: model = Advocate fields = "__all__" class CompanySerializer(serializers.ModelSerializer): advocates = AdvocateSerializer(many=True) class Meta: model = Company fields = "__all__" How could I solve the issue regarding the lazy reference of advocates in company model while serializing data in serializers ? and for now my serializers shows the error "name Company is not defined" -
Is it possible to store aware datetime objects in django with different timezones for the values?
I've seen many different posts across SO about aware timezones in django (i.e. datetimes with a timezone value). Even converting naive datetime to aware I've read online that many applications that deal with timezones usually store everything in UTC to avoid any Day light savings conversions and then use frontend to handle the conversions. I'd like to know if it's possible to store an aware datetime with the actual timezone in my database. If so, how would I go about it? So instead of storing something like: 2022-10-13 13:56:00+00:00 I'd like to store: 2022-10-13 13:56:00+04:30 (US/Eastern) -
Related Field got invalid lookup: icontains - Django
Admin.py @admin.register(models.Student) class StudentAdmin(admin.ModelAdmin): list_display = ['first_name', 'last_name', 'city'] @admin.register(models.CourseTake) class CourseTakeAdmin(admin.ModelAdmin): list_display = ['student', 'course', 'grade', 'performance'] list_editable = ['grade'] search_fields = ['student'] def student(self, student): return student.first_name models.py class Student(models.Model): first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) date_adimitted = models.DateField(auto_now=True) address = models.CharField(max_length=255) city = models.CharField(max_length=255) state = models.CharField(max_length=255) def __str__(self) -> str: return f'{self.first_name} {self.last_name}' class CourseTake(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE, related_name='coursetake') #similar to reviews in the product class course = models.ForeignKey(Course, on_delete=models.CASCADE) grade = models.DecimalField(max_digits=5, decimal_places=2) class Meta: unique_together = [['student', 'course']] def __str__(self) -> str: return f'{self.student.first_name} {self.student.last_name}' Admin panel where I tried searching for the names I have a search bar which I want to use to search for student names, but it keeps saying "Related Field got invalid lookup: icontains". However, student in the search_fields is a foreign key and I don't know how to manipulate it so I can search for any name. 'Request URL: http://127.0.0.1:8000/admin/student/coursetake/?q=kj' -
Error 403 on Heroku when deploying a Django project
I want to delete the repository inside my Heroku app by typing: -heroku plugins:install heroku-repo -heroku repo:reset -a appname after that i get the error: -Expected response to be successful, got 403 -
ProgrammingError at / after depploying my django project to heroku but wotking well on local host
I have made all the migrations as recommended in previous posts. I have also updated my settings.py as recommended inj previous posts. here is my console message; 2022-10-13T22:36:21.289647+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute 2022-10-13T22:36:21.289648+00:00 app[web.1]: with self.db.wrap_database_errors: 2022-10-13T22:36:21.289648+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__ 2022-10-13T22:36:21.289648+00:00 app[web.1]: raise dj_exc_value.with_traceback(traceback) from exc_value 2022-10-13T22:36:21.289648+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute 2022-10-13T22:36:21.289648+00:00 app[web.1]: return self.cursor.execute(sql, params) 2022-10-13T22:36:21.289648+00:00 app[web.1]: django.db.utils.ProgrammingError: relation "freelanceapp_post" does not exist 2022-10-13T22:36:21.289648+00:00 app[web.1]: LINE 1: ...t"."slug", "freelanceapp_post"."category_id" FROM "freelance... 2022-10-13T22:36:21.289648+00:00 app[web.1]: ^ 2022-10-13T22:36:21.289649+00:00 app[web.1]: 2022-10-13T22:36:21.290265+00:00 app[web.1]: 10.1.23.15 - - [13/Oct/2022:22:36:21 +0000] "GET / HTTP/1.1" 500 196793 "https://dashboard.heroku.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36" 2022-10-13T22:36:21.289879+00:00 heroku[router]: at=info method=GET path="/" host=victorkiprono.herokuapp.com request_id=b9f45047-6c65-44e5-975d-b0f71a4c023b fwd="105.161.25.118" dyno=web.1 connect=0ms service=133ms status=500 bytes=197110 protocol=https -
How can I make a django form field value not refresh if the field is not validated and user hits submit
I have created an HTMl register form template, and designed it such that if there is any validation error, it outputs the error and that works fine. Register form showing "passwords do not match" error The problem I'm having is the whole form fields clear once I hit submit and the errors show up, this was if a user has a "passwords do not match error" he'd have to input all his details from scratch. I want the user to input only the fields that has errors. The register HTML form ` {% csrf_token %} <div class="col-md-12"> <input class="form-control" type="text" name="first_name" placeholder="Firstname" required> {% if form.first_name.errors %} {% for error in form.first_name.errors %} <span style="color:#DC3545;"> {{error}} </span> {% endfor %} {% endif %} </div> <div class="col-md-12"> <input class="form-control" type="text" name="last_name" placeholder="Lastname" required> {% if form.last_name.errors %} {% for error in form.last_name.errors %} <span style="color:#DC3545;"> {{error}} </span> {% endfor %} {% endif %} </div> <div class="col-md-12"> <input class="form-control" type="text" name="email" placeholder="Email address" required> {% if form.email.errors %} {% for error in form.email.errors %} <span style="color:#DC3545;"> {{error}} </span> {% endfor %} {% endif %} </div> <div class="col-md-12"> <input class="form-control" type="password" name="password1" placeholder="Enter Password" required> {% if form.password1.errors %} {% for error in … -
How can i add like function with Django rest framework
0 Hey guys I try make blog app I wonder How can i add Like function I realy dont know how can i do it Add like on first press, remove like on second press like the instagram, twitter or youtube . That is The Models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() image = models.URLField(max_length=300) publish_date = models.DateTimeField(auto_now_add=True) author = models.ForeignKey(User, on_delete=models.CASCADE) That is serializers class PostSerializer(serializers.ModelSerializer): author = serializers.StringRelatedField() class Meta: model = Post fields = ( 'title', 'content', 'image', 'author', 'id', 'like_count' ) That is views class PostView(viewsets.ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer def perform_create(self, serializer): serializer.save(author=self.request.user) that is Urls from django.urls import path from .views import ( PostView, PostView_View, LikesView, CommentView ) from rest_framework import routers router = routers.DefaultRouter() router.register('', PostView) urlpatterns = [ ] + router.urls -
Django object.filter returns Object (1) on search bar
So I have a Django website Project that contains a database of all the different books stored in it. With my search bar, if I type in the name it will show results from the database. The problem is that whenever I type in said name (One Piece or Attack On Titan), instead of showing its title name, it will either show Book Object (1) or Book Object (2) depending on what name I type and I don't know why. This is where I defined my classes: class Book(models.Model): title = models.CharField(max_length=255) author = models.CharField(max_length=255) editor = models.CharField(max_length=255) year_published = models.IntegerField() number_in_stock = models.IntegerField() daily_rate = models.FloatField(null=True) genre = models.ForeignKey(Genre, on_delete=models.CASCADE) date_created = models.DateTimeField(default=timezone.now) manga_image = models.ImageField(null=True, blank=True, upload_to='images/') And this is where I defined my requests: def search_manga(request): if request.method == "POST": searched = request.POST[('searched')] mangas = Book.objects.filter(title__contains=searched) return render(request, 'books/search_manga.html', {'searched': searched, 'mangas': mangas}) else: return render(request,'books/search_manga.html', {}) Also this is the HTML document I'm trying to show the results on: {% extends 'base.html' %} {% block content %} <style> h1 { text-align: center; } </style> {% if searched %} <h1>You Searched For {{searched}}</h1> <br/> {% for manga in mangas %} {{ manga }}<br/> {% endfor %} {% … -
How can we specify graphql schema to use a custom db for saving objects in Django?
Graphql Schema Mutations happen to use the default DB specified in settings.py. Since I have a Django project with multiple apps and db's , how can I specify graphql mutation to use a different db and not the default one. -
How to create a database using Django and Cloudant
Please, I need to implement a web-based tool that was created using the Django framework but there is no database yet and I would like to use Cloudant. As Cloudant uses JSON, how could I get input for the user and convert it to JSON? Thank you! -
coukies django python cart
How can i do a cart for a long time on django-python using cookies please response to me !! it's an emergency def Cart(request) try: customer = request.user.customer except: device = request.COOKIES['device'] customer, created = Customer.objects.get_or_create(device=device) order, created = Order.objects.get_or_create(customer=customer,complete=False) # print(order.product) categories = Category.objects.all() context={'order':order,'categories':categories} response = render (request,'store/cart.html',context) set_cookie(response, 'cart',device) return response -
Cannot add user in django rest framework
Im trying to make an API to register a new user, but I can't and I really don't know why. Im beginner. Views.py: def register_view(request): s = serializers.CreateUserSerializer(data=request.data) if s.is_valid(): s.save() return Response(s.errors) Serializers.py: class CreateUserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['email', 'username', 'password'] extra_kwargs = {'password': {'write_only': True}} def create(self, validated_data): user = User( email=validated_data['email'], username=validated_data['username'] ) user.set_password(validated_data['password']) user.save() return user Error i get: {"username":["This field is required."],"password":["This field is required."]} im simply sending data using postman -
Allowing post request through Nginx
Trying to serve a react app, django with nginx and docker. I am not able to make a post call from docker on port 8080 to nginx on port 8082. Following is the error thrown by Nginx iris-frontend-frontend-1 | 2022/10/13 20:16:18 [error] 35#35: *4 open() "/usr/share/nginx/html/add-to-waiting" failed (2: No such file or directory), client: 172.18.0.1, server: localhost, request: "POST /add-to-waiting HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/" Nginx configurations are: add-to-waiting is the api call. upstream django { server website:8000; } upstream react_app { server frontend:8080; } server { listen 80; client_max_body_size 100M; proxy_set_header X-Forwarded-Proto $scheme; location / { proxy_pass http://react_app; } location /admin { proxy_pass http://django; } location /add-to-waiting { proxy_pass http://django; } location /media/ { alias /app/media/; } location /static/ { alias /app/forex/static/admin/; } } What configurations need to change to make frontend able to call the api?