Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django Media File Not Showing in Bucket
I have an issue trying to get my bucket to display both folders media and static. Currently when I collectstatic it only gets from static and not media. So It can obtain static from the bucket but not media files yet. How do I get media to show in my bucket? Policy: { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::<AWS_STORAGE_BUCKET_NAME>/*" } ] } with the following settings.py # All of this is in my console.aws.amazon to configure aws s3 static files only # If I am in prod # IAM Management Console AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID') AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY') # Amazon S3 Buckets AWS_STORAGE_BUCKET_NAME = config('AWS_STORAGE_BUCKET_NAME') AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME AWS_S3_OBJECT_PARAMETERS = { 'CacheControl': 'max-age=86400', } AWS_DEFAULT_ACL = None AWS_S3_SIGNATURE_VERSION = 's3v4' AWS_S3_REGION_NAME = 'us-east-2' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'pages/static'), ] AWS_STATIC_LOCATION = 'static' STATICFILES_STORAGE = 'portfolio.storage_backends.StaticStorage' STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_STATIC_LOCATION) """ STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') MEDIA_ROOT = os.path.join(BASE_DIR, 'media') """ AWS_PUBLIC_MEDIA_LOCATION = 'media/public' DEFAULT_FILE_STORAGE = 'portfolio.storage_backends.PublicMediaStorage' AWS_PRIVATE_MEDIA_LOCATION = 'media/private' PRIVATE_FILE_STORAGE = 'portfolio.storage_backends.PrivateMediaStorage' # Fixes Found another file with the destination path """ STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', #'django.contrib.staticfiles.finders.AppDirectoriesFinder', #causes verbose duplicate notifications in django 1.9 … -
'list' object has no attribute '_meta' plese help me out i was stuck
enter image description here recently I want to edit the row of the table but stocked there for among 3 days help me out to get rid out of this -
Can't connect dat.gui in my javascript on my django server
I'm new in web dev and I´m trying to import the dat.gui package library in my javascript, but it isn't working :c I'm using python and django to make the server, and I used the mehtod that comes in the docs in the HTML downloading the package and writting the root manually. It seems to read the package in the html but I don't know why I can't do the samething on my Javascript. HTML: JAVASCRIPT: import * as DAT from '/package/build/dat.gui.min.js' -
No messages being sent by celery beat (using django-celery-beat)
I am in the process of upgrading to celery 5.x for a Django project. Since there is no longer a @scheduled_task annotation, I changed all of those to @shared_task and wrote some code to create CrontabSchedule instances and associate PeriodicTask instances with those for each task that should run on a schedule. I am invoking that from a beat_init signal receiver. I'm running celery worker & beat as separate processes. I am logging info from the function that sets up the CrontabSchedule and PeriodicTask instances, and I see that log output from the celery beat process. Immediately after that, I see a DatabaseScheduler: Schedule changed." message. That's all as expected and good. Subsequently, however, celery beat just sits and does nothing. beat never sends any messages, and as a result, celery worker never executes any scheduled tasks. In django-admin shell_plus, PeriodicTask.objects.all() shows me many scheduled tasks with schedules that all look as they should. Here's 1 example from the output that should be running once per minute, every day: <PeriodicTask: dhnetwork.tasks.send_queued_mail: {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59} {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23} * {1,2,3,4,5,6,7,8,9,10,11,12} {0,1,2,3,4,5,6} (m/h/dM/MY/d) America/Los_Angeles> Any ideas what I might be doing wrong and/or how to diagnose the problem? -
testing in Django
I am trying to test my Django application to get 100 % statement coverage. I Am using class-based view and overwriting some af the functionalities. One of them is the form valid in my AttendanceLogFormView in my views.py My question is how do I test that this method is working as it should with unit tests in Django? I am very new to testing so I very difficult for me to wrap me head around the concept I just know I need to test the if/else for statement coverage - but I don't know how? class AttendanceLogFormView(CreateView): model = AttendanceLog template_name = "attendancecode/Createattendancelog.html" form_class = AttendanceLogForm success_url = "/attendancecode/success/" # Checks if data input is valid and saves object def form_valid(self, form): obj = form.save(commit=False) user = "nadi6548" obj.date = date.today() getClass = Class.objects.get(name=obj.keaclass) getCourse = Course.objects.get(name=getClass.Course_name) getLocation = School.objects.get(id=getCourse.location_id) coords_1 = (getLocation.lat, getLocation.long) coords_2 = (obj.lat, obj.long) # check location and that student goes in the class if (geopy.distance.distance(coords_1, coords_2).km < 0.5) and Student.objects.get( username=user, Class_id=obj.keaclass): # check log is a code with correct info and correct date and that # student has subject + code is active if AttendanceCode.objects.filter( code=obj.attendanceCode, keaclass_id=obj.keaclass, subject_id=obj.subject_id, date=obj.date, isActive="True") and StudentHasSubject.objects.get( student_name_id=user, subject_name_id=obj.subject_id): … -
upload data using vanila javascript ajax and django1.11.17
using vanila javascript ajax and django1.11.17 , i wanna upload image with other data, and how to handle it in django. using vanila javascript ajax and django1.11.17 , i wanna upload image with other data, and how to handle it in django. var name=document.querySelector('#name').value; var lname=document.querySelector('#lname').value; var email=document.querySelector('#email').value; var password=document.querySelector('#password').value var CSRF=document.querySelectorAll('input')[5].value var file=document.querySelector('#file') var res=document.querySelector('.res') var formdata = new FormData(); formdata.append('image',file.files[0]); xhttp= new XMLHttpRequest(); xhttp.open('POST',"",true); xhttp.setRequestHeader("X-CSRFToken",pass); xhttp.setRequestHeader("content-type",'application/multipart/form-data'); xhttp.onload=function(){ if(this.status == 200){ res.innerText=this.responseText }else{ res.innerText='error' } } var data = {fn:name,ln:lname,em:email,pw:password,img:formdata} xhttp.send(JSON.stringify(data)) -
How do I match my bootstrap datepicker URL with my re_path on django?
I have this datepicker: <form class="d-flex justify-content-center ms-3" action="/" method="GET"> <input class="form-control me-3" type="date" name="date" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-secondary" type="submit"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" role="img" viewBox="0 0 24 24"><title>Search</title><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg> </button> </form> When I select a date it returns an url like this: http://localhost:8000/?date=2021-12-15 The problem is I'm not being able to match it with my regular expression: re_path(r'^date=(?P<date>[0-9]{4}-?[0-9]{2}-?[0-9]{2})', DatePostListView, name='date-list') This regular expression works when the URL is: http://localhost:8000/date=2021-12-15 The problem is the "?" in the URL, but I don't know how to put that in my re_path (I have already tried with %3F and \? but doesn't work). The other solution may be modifying my datepicker, so I can get an URL like the one above when I pick a date, but I'm not sure how to do this. Hope someone can help me. Thanks -
How to add songs to my templates in views
if i post a song from my admin panel, i want the list of song to appear in the templates, i already created a models that allow me to post it, but i don't know how to create a views that allowed the song to appear in the templates, please how can i do this ? this is my empty views views.py from django.shortcuts import render from .models import Audio # Create your views here. def index(request): return render(request, 'index.html') this is my models.py i created models.py from django.db import models # Create your models here. class Audio(models.Model): book_title = models.CharField(max_length=100, null=False, blank=False) file = models.FileField(upload_to='file') author = models.CharField(max_length=100, null=False, blank=False) artist = models.CharField(max_length=100, null=False, blank=False) -
how to embed facebook video in django project
what is the easiest way to embed facebook live video or any facebook video in any django website ? I used https://github.com/jazzband/django-embed-video package but it's work only for youtube video . -
Django: Django_filters in a class-based views
I ask you if you know how put this filters : class CoursesFilters(django_filters.FilterSet): class Meta: model = Courses exclude = ('description') in this class view : class CoursesList(ListView): model = Courses template_name = 'courses_list.html' I used to build my applications using function-based views, and this is my first time use class-based views. Any idea? -
How to access HTTPS on development server
I have Django project, I tried to run develop SSL server by python manage.py runserver_plus --cert-file cert.crt, but anytime I get error Site doesn't reach, how i can fix it? I have mapped my hosts.ics file, tried also a sslserver, there is nothing working -
How to disable method in Django APIView?
My question is same title. How to disable method in Django APIView? for example, class A(APIView): permission_classes = [IsAuthenticated] def get(self, request): return JsonResponse({"message": "Hello, world!"}) I want to only get method allowed, How can I? -
Exception has occurred: AttributeError 'NoneType' object has no attribute 'split'. When debugging with Docker and VSCode
I'm setting up a debugger using docker-compose following this guide. I've modified the file manage.py to run debugpy when setting.DEBUG exists but when redding the settings file it throws an exception of 'NoneType' object has no attribute 'split'. Here are the files I'm using: .env.dev DEBUG=1 SECRET_KEY=foo DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 0.0.0.0[::1] manage.py #!/usr/bin/env python """Django's command-line utility for administrative tasks.""" import os import sys def main(): """Run administrative tasks.""" os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings') # start new section from django.conf import settings if settings.DEBUG: if os.environ.get('RUN_MAIN') or os.environ.get('WERKZEUG_RUN_MAIN'): import debugpy debugpy.listen(("0.0.0.0", 5678)) print('Attached!') # end new section try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" ) from exc execute_from_command_line(sys.argv) if __name__ == '__main__': main() Any ideas? -
Inheritance in Django: Make parent class fall back to child method
Tl;Dr: Circumvent that parents can not call child methods in python (I guess) Consider the following (simplified) django models were MaterialInstance and BookInstance both inherit Item. class Item(models.Model): """Represents an item that is physically in the library""" label = models.CharField(max_length=20, unique=True) @property def description(self) -> str: raise NotImplementedError class BookInstance(Item): """Represents a copy of a book that is physically in the library""" @property def description(self) -> str: return str(self.book) book = models.ForeignKey('Book', on_delete=models.RESTRICT) class MaterialInstance(Item): """Represents a instance of a material that is physically in the library""" @property def description(self) -> str: return str(self.material) material = models.ForeignKey('Material', on_delete=models.RESTRICT, null=True) I want to show all items (books AND material instances) in one table. One row should be a description (either the book title or the material name). It would be nice to use the following template (but this raises a NotImplementedError as the parent class does not try to call child methods. Any suggestions for a clever design that circumvents this problem? <table> <tr> <th>Label</th> <th>Description</th> </tr> {% for item in item_list %} <tr>{{ item.label }}</td> <td>{{ item.description }}</td> </tr> {% endfor %} </table> The final thing should look something like this |Label|Description| |---|---| |B1 | A Boring Book Title| |B2 … -
How can I filter on multiple NOT conditions in Django's ORM?
In Django 3.2, I have the following models: class Person(models.Model): name = models.CharField(max_length=100) class Employment(models.Model): owner = models.ForeignKey('Person', on_delete=models.CASCADE) title = models.CharField(max_length=100) full_time = models.BooleanField(default=True) class Car(models.Model): owner = models.ForeignKey('Person', on_delete=models.CASCADE) color = models.CharField(max_length=100) The Goal: Give me all people that drive a red car (unless they're a full-time firefighter) Here is what I thought would work: Person.objects.filter( ~Q(employment__title='firefighter', employment__full_time=True), car__color='red' ) However, this generates the following SQL: SELECT * FROM "person" INNER JOIN "car" ON ("person"."id" = "car"."owner_id") WHERE "car"."color" = red AND ( NOT ( EXISTS( SELECT (1) AS "a" FROM "employment" U1 WHERE U1."full_time" AND U1."owner_id" = "person"."id" ) AND EXISTS( SELECT (1) AS "a" FROM "employment" U1 WHERE U1."title" = firefighter AND U1."owner_id" = "person"."id" ) ) This in effect returns all people that drive a red car (unless they are a firefighter OR have full-time employment). Like all other filter keys, I would have expected the two conditions on the foreign relation to be ANDED. Why the unexpected behavior? What's the right way to write this so the sql looks like this:? SELECT * FROM "person" INNER JOIN "car" ON ("person"."id" = "car"."owner_id") WHERE "car"."color" = red AND ( NOT ( EXISTS( SELECT (1) AS … -
Django Annotation with boolean field ExpressionWrapper
I'm trying to create a high score statistic table/list for a quiz, where the table/list is supposed to be showing the percentage of (or total) correct guesses on a person which was to be guessed on. To elaborate further, these are the models which are used. The Quiz model: class Quiz(models.Model): participants = models.ManyToManyField( User, through="Participant", through_fields=("quiz", "correct_user"), blank=True, related_name="related_quiz", ) fake_users = models.ManyToManyField(User, related_name="quiz_fakes") user_quizzed = models.ForeignKey( User, related_name="user_taking_quiz", on_delete=models.CASCADE, null=True ) time_started = models.DateTimeField(default=timezone.now) time_end = models.DateTimeField(blank=True, null=True) final_score = models.IntegerField(blank=True, default=0) This models does also have some properties; I deem them to be unrelated to the problem at hand. The Participant model: class Participant(models.Model): # QuizAnswer FK -> QUIZ guessed_user = models.ForeignKey( User, on_delete=models.CASCADE, related_name="clicked_in_quiz", null=True ) correct_user = models.ForeignKey( User, on_delete=models.CASCADE, related_name="solution_in_quiz", null=True ) quiz = models.ForeignKey( Quiz, on_delete=models.CASCADE, related_name="participants_in_quiz" ) @property def correct(self): return self.guessed_user == self.correct_user To iterate through what I am trying to do, I'll try to explain how I'm thinking this should work: For a User in User.objects.all(), find all participant objects where the user.id equals correct_user(from participant model) For each participantobject, evaluate if correct_user==guessed_user Sum each participant object where the above comparison is True for the User, represented by a field … -
why doesn't django log the specified application?
I has some project with application named "work". The directory of the app also named work, and inside apps.py its also named "work", and in INSTALLED_APPS also, etc. And I try to log just the application into file. So. I have prescribed the following settings in settings.py: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'file_logger': { 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s' } }, 'handlers': { 'file_logger': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': './logging.txt', }, }, 'loggers': { 'work.views': { 'handlers': ['file_logger'], 'level': 'DEBUG', 'propagate': True, }, }, } I initialized inside my views.py (views.py of work app) logger like this: logger = logging.Logger(__name__) where __name__ is "work.views" (I checked this one via debugger) and I have some view, which I want to log: def view_timesheet(request, t_id=None): logger.warning('wwwwwwwwwwwwwwwww') # some code return HttpResponse('ok') but when I execute the code of this view, nothing is written to the file. With what "wwwwwwwww" gets logged in the console This confuses me, because it seems to me that I have done everything according to the documentation and everything should work A few more details: If I write "django" instead of "work.views" all django logs will end up in a file. This leads … -
Why am I unable to set my GeoDjango database engine to 'django.contrib.gis.db.backends.postgis' on heroku?
I've had the same problem for several days now, and it seems like no matter what I do, I can't set my database engine to 'django.contrib.gis.db.backends.postgis' on heroku. The problem has me so stuck that it's driven me to finally make my first Stack Overflow post. I can see the engine is 'django.db.backends.postgresql_psycopg2' when I check the database settings in heroku: % heroku run bash ~ $ python manage.py shell >>> from django.conf import settings >>> settings.DATABASES {'default': {'NAME': [name], 'USER': [user], 'PASSWORD': [password], 'HOST': [host], 'PORT': 5432, 'CONN_MAX_AGE': 600, 'OPTIONS': {'sslmode': 'require'}, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}}} I've come to believe that the problem has to do with me not understanding how heroku uses the django settings.py file to set up the database. For example, I'm wondering if I'm doing things in the wrong order. Originally, I set up the heroku database with the below commands and then afterwards pushed my geodjango project to Heroku. % heroku addons:create heroku-postgresql:hobby-dev % heroku pg:psql app::DATABASE=> create extension postgis; I've also tried deleting the database entirely and then pushing my code to Heroku because I thought maybe heroku … -
Firebase for notification and aws for backend and database
I am trying to implement a notification system in Django. I find the firebase quite easy which is as follow: from fcm_django.models import FCMDevice device = FCMDevice.objects.all() Now in view: device.send_message(title="Title", body="Message", icon=..., data={"test": "test"}) In settings: FCM_DJANGO_SETTINGS = { # default: _('FCM Django') "APP_VERBOSE_NAME": "[string for AppConfig's verbose_name]", # true if you want to have only one active device per registered user at a time # default: False "ONE_DEVICE_PER_USER": True/False, # devices to which notifications cannot be sent, # are deleted upon receiving error response from FCM # default: False "DELETE_INACTIVE_DEVICES": True/False, # Transform create of an existing Device (based on registration id) into # an update. See the section # "Update of device with duplicate registration ID" for more details. "UPDATE_ON_DUPLICATE_REG_ID": True/False, } Now my question is, we are using AWS for the backend and also for the database. In this case can we use the firebase for notification? How do these two services aws and firebase work together? WIll there be any problem?? -
How do i replace or overwrite imagges stored in cloudinary using django
I want to setup user profile pic but do not want to keep adding new files each time they change the picture is there a way to overwrite or replace an image in the cloudinary database Here is Models : class CloudinaryField(BaseCloudinaryField): def upload_options(self, model_instance): return { 'public_id': UserProfile.user.username, 'filename': "Hey", 'unique_filename': False, 'overwrite': False, 'resource_type': 'image', 'tags': ['Profile'], 'invalidate': True, 'quality': 'auto:eco', } class UserProfile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) date_created = models.DateTimeField(auto_now_add=True) Nick_Name = models.CharField(default="Hey", max_length=250) Profile_pic = CloudinaryField('Profile_Pic', default="") forms : class UserProfilePage(forms.ModelForm): class Meta: model = UserProfile fields = ['Nick_Name', 'Profile_pic'] help_texts = { 'Nick_Name': 'This will act as your display name', } Profile_pic = CloudinaryFileField( options={ 'folder': 'Profile/', }) And finally the views : def edit(request): func = data(request) form = UserEdit(initial={'email': request.user.email}) profile = UserProfilePage(initial={'Nick_Name': request.user.userprofile.Nick_Name, 'Profile_pic': request.user.userprofile.Profile_pic.url}) if request.method == "POST": form = UserEdit(data=request.POST or None, instance=request.user) profile = UserProfilePage(data=request.POST or None, instance=request.user.userprofile, files=request.FILES) if form.is_valid() and profile.is_valid(): user = form.save() profiles = profile.save() return redirect("Profile_Page") ctx = { 'form': form, 'profile': profile, 'url': func[0], 'name': func[1], 'date': func[2], } return render(request, "Edit_User.html", ctx) If any more code is required please comment it i will for sure edit it into the question Thanks a … -
Django Mixing Static and Media(Public/Private)
Whenever I run the following I get (portfolio) PS C:\Users\arund\Desktop\Code\Django\portfolio-project> python manage.py collectstatic You have requested to collect static files at the destination location as specified in your settings. This will overwrite existing files! Are you sure you want to do this? Type 'yes' to continue, or 'no' to cancel: yes Traceback (most recent call last): File "C:\Users\arund\Desktop\Code\Django\portfolio-project\manage.py", line 22, in <module> main() File "C:\Users\arund\Desktop\Code\Django\portfolio-project\manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line utility.execute() File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\core\management\__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\core\management\base.py", line 354, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\core\management\base.py", line 398, in execute output = self.handle(*args, **options) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 187, in handle collected = self.collect() File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 114, in collect handler(path, prefixed_path, storage) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 338, in copy_file if not self.delete_file(path, prefixed_path, source_storage): File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 248, in delete_file if self.storage.exists(prefixed_path): File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\storages\backends\s3boto3.py", line 469, in exists self.connection.meta.client.head_object(Bucket=self.bucket_name, Key=name) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\client.py", line 391, in _api_call return self._make_api_call(operation_name, kwargs) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\client.py", line 691, in _make_api_call request_dict = self._convert_to_request_dict( File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\client.py", line 737, in _convert_to_request_dict api_params = self._emit_api_params( File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\client.py", line 766, in _emit_api_params self.meta.events.emit( File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\hooks.py", line 357, in emit return self._emitter.emit(aliased_event_name, **kwargs) File "C:\Users\arund\Desktop\Code\Django\portfolio-project\venv\lib\site-packages\botocore\hooks.py", line 228, in emit return self._emit(event_name, kwargs) File … -
Set ForeignKey in Django Error : matching query does not exist
I want to set ForeignKeys to my tables in views.py but I got this Error Words matching query does not exist. at this line of code : word_id = Words.objects.get(pk= wordID), I don't know what's wrong and Why I got this error? So how I should set the foreign keys? this is my model.py code class Words(models.Model): word = models.CharField(max_length=50) phonetic= models.CharField(max_length=50) audio= models.URLField(max_length = 200) class Meanings(models.Model): word_id = models.ForeignKey(Words, on_delete=models.CASCADE) partOfSpeech = models.CharField(max_length=30) class Definitions(models.Model): word_id = models.ForeignKey(Words, on_delete=models.CASCADE) Meaning_id = models.OneToOneField(Meanings, on_delete=models.CASCADE, primary_key=True) definition = models.TextField() def __str__(self): return self.definition and this is the views.py : def get_details(request): words = ['hello', 'table' , windows'] wordID = 0 MeaningID = 0 for word in words: wordID+=1 print(word) url = 'https://api.dictionaryapi.dev/api/v2/entries/en/' + word response = requests.get(url) if type(response.json()) == list: response = response.json()[0] # convert list to dictionary word = response.get('word',{}) phonetics = response.get('phonetics',{}) phonetic = phonetics[0] print(phonetic) word_data = Words( word = response.get('word',{}), phonetic = phonetic.get('text', {}), audio = phonetic.get('audio', {}) ) word_data.save() meanings = response.get('meanings',{}) for i in range(len(meanings)): MeaningID +=1 meaning_data =Meanings( word_id = Words.objects.get(pk= wordID), partOfSpeech = meanings[i].get('partOfSpeech',{}) ) meaning_data.save() definitions_data = Definitions( word_id = Words.objects.get(id= wordID), meaning_id = Meanings.objects.get(id= MeaningID), definition = meanings[i].get('definition',{}) ) … -
Wrong distance calculation between two Points in django
I have a model that uses PointField to store location: from django.contrib.gis.db import models from django.contrib.gis.geos import Point class Post(models.Model) location = models.PointField() and trying to do the following calculation: initial_location = Post.objects.first().location last_location = Post.objects.last().location total_distance = initial_location.distance(last_location) The values for this locations are: print(initial_location) >>> SRID=4326;POINT (-1.407385628884526 -24.29361291088179) print(last_location) >>> SRID=4326;POINT (65.55023895708794 43.8537639564256) print(total_distance) >>> 95.53736684717059 Ok, at first glance I thought it was working, but this value is totally wrong. Using this site to convert decimal coordinates to degrees coords and this site to calculate the distance based on this coords, I get a result almost 100 times higher than Django is printing. I'm not sure what is wrong since all of these methods and functions are built-in of the Point class. -
how to get the Userid in GET method in Django Rest framework
I'm trying to pass the requested "userid" to the Stored Procedure but I couldn't able to get the requested "userid" in GET method. SP is working fine when I entered user id directly views.py: @api_view(['GET', 'POST']) def ClaimReferenceView(request, userid): try: userID = Tblclaimreference.objects.filter(userid=userid) except Tblclaimreference.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': user = Tblclaimreference.objects.get(userid=self.request.user.id) print(user) cursor = connection.cursor() cursor.execute('EXEC [dbo].[sp_GetClaims] @UserId= %s',(user,)) result_set = cursor.fetchall() print(type(result_set)) response_data = [] for row in result_set: response_data.append( { "Number": row[0], "Opened": row[1], "Contacttype": row[2], "Category1": row[3], "State": row[4], "Assignmentgroup": row[5], "Country_Location": row[6], "Openedfor": row[7], "Employeenumber": row[8], "Shortdescription": row[9], "AllocatedDate": row[10] } ) return Response(response_data, status=status.HTTP_200_OK) elif request.method == 'POST': serializer = ClaimReferenceSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) models.py: class Tblclaimreference(models.Model): taskid = models.IntegerField(db_column='TaskId', primary_key=True) userid = models.IntegerField(db_column='UserID') internaldescription = models.CharField(db_column='Internaldescription', max_length=500, blank=True, null=True) additionalcomments = models.CharField(db_column='Additionalcomments', max_length=500, blank=True, null=True) -
ModuleNotFoundError: No module named 'django.db.backends.postgresql'
Try to migrate local_proxy but i got this error as shown below; Using CMD: DJANGO_SETTINGS_MODULE=maroxie.settings.local_proxy python manage.py migrate ??? Fig:1 enter image description here Fig:2 enter image description here