Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
how to save parent , child and grand child forms in one submit - django
i'm building an application for a mobile trading company , the is the scenario : every invoice has an unique invoice number and every unique date has several phone models and every phone models have a number of IMEI here is how i designed the database model class Collection(models.Model): admin = models.ForeignKey(User,on_delete=models.PROTECT) company = models.ForeignKey(Company,on_delete=models.PROTECT) invoice_no = models.IntegerField(unique=True) collection_date = models.DateTimeField(default=timezone.now) class MobileCollection(models.Model): collection = models.ForeignKey(Collection,on_delete=models.PROTECT,related_name='collections') mobile = models.ForeignKey(ModelCategory,on_delete=models.PROTECT,related_name='model_category') qnt = models.IntegerField() price = models.DecimalField(decimal_places=3,max_digits=20) class Imei(models.Model): mobile = models.ForeignKey(MobileCollection,on_delete=models.PROTECT) imei = models.CharField(max_length=15,unique=True) i have to submit all of them in one go ! i'm not sure how to build its view , while the MobileCollection model should increase dynamically , and with the qnt field in MobileCollection the Imei forms should increase , for example if the qnt=10 we should add 10 Imei forms , i thought about inlineformset_factory but i its not work in my case . please is there a better approach to achieve that ? thank you in advance -
How can I build share option like facebook or youtube using Django?
I am building a social website using Django. I want to implement the share function for users to data between other users. Can someone give me brief idea about that? How can I do this or How to implement the code. -
Override helptext in Wagtail EditView
I am trying to override the helptext that is set in my model in the wagtail admin (an edit view). I have tried the code below but the text is not changed, why is that? class MemberRegistrationEditView(EditView): def get_form(self): form = super().get_form() form.base_fields.get("own_email").help_text = "Test" return form -
Executing a function right before\after revoking a task in celery
For the demonstration, I have a class that does something like this: class Writer: def __init__(self, num): self.num = num def write(self): for i in range(0, num): with open("/outfile", "w") as o: o.write(i) def cleanup(self): # should be executed when write has not finished os.system('rm -rf /outfile') Im using a shared task in celery to execute it like: @shared_task def mytask(): w = Writer(100) w.write() return "Done" Im using django and DRF, and i have an endpoint api that recieves a task_id and revokes the task using revoke(task_id, terminate=True) My goal is to run the cleanup function from the Writer class when the revoke happens. The reason I cannot just run cleanup after the revoke as a regular function is because it needs to access the attributes of its class (in the real senario and not this example), and each class might have a different cleanup function. how can i detect the revoke in mytask() ? Is there a solution using something like try except? Moving the task to a class based task? Have not found anything online or in the docs. Thanks in advance. -
Django-Rest-Framework can't override serializer unique error_messages
I have the following model: class PersonDiscount(models.Model): user = models.OneToOneField('backend.Customer', related_name='discount', on_delete=models.CASCADE, error_messages={ 'unique': _('A discount setting is already set up for this customer.')}) discount = models.IntegerField(default=0) discount_auto = models.IntegerField(default=0) auto = models.BooleanField(default=True) class Meta: ordering = ['-id'] And a following serializer for the model: class PersonDiscountPostSerializer(serializers.ModelSerializer): class Meta: model = PersonDiscount fields = '__all__' extra_kwargs = { 'user': { 'error_messages': { 'unique': _('A discount setting is already set up for this customer.') } } } When i tried to create a PersonDiscount instance with existed user from the api i'm not getting the custom error message which i set in both model and serializer. { "user": [ "This field must be unique." ] } I had already looked up in the docs and can't find any other way to understand why the override error_messages not getting applied. I also restarted the django runserver several times already Hope someone can help me with this problem -
Django : FOREIGN KEY constraint failed on delete, but I don't have any Foreign Key on my model
Here is my model which objects I can't delete : class Broker(models.Model): code = models.CharField(default="", max_length=100, blank=True) name = models.CharField(default="", max_length=100, blank=True) email = models.CharField(default="", max_length=100, blank=True) city = models.CharField(default="", max_length=100, blank=True) address = models.CharField(default="", max_length=100, blank=True) postal_code = models.CharField(default="", max_length=100, blank=True) brokerage = models.FloatField(default=0.00) class Meta: verbose_name = 'Broker' verbose_name_plural = 'Brokers' ordering = ['name'] def __str__(self): return str(self.name) Here is what creates my error (he occurs on the line where I make rem.delete()): if request.POST.get('action') == 'remove_element_selected': element_selected = request.POST.getlist('element_selected[]') for element_id in element_selected: rem = Broker.objects.get(id=element_id) rem.delete() return JsonResponse({}) And here is my error : Internal Server Error: /brokers/ Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 239, in _commit return self.connection.commit() sqlite3.IntegrityError: FOREIGN KEY constraint failed The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/base.py", line 126, in _get_response response = self.process_exception_by_middleware(e, request) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/core/handlers/base.py", line 124, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sentry_sdk/integrations/django/views.py", line 67, in sentry_wrapped_callback return callback(request, *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view return view_func(request, *args, **kwargs) File "/Users/lucas/Desktop/myapp/app/views/views.py", line 636, in brokers rem.delete() File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/base.py", line 880, in delete return … -
Django-Rest-Framework 3.0 ImproperlyConfigured at /api/users/ Field name `is_owner` is not valid for model `User`
have some strange bug in my project. I was remove is_owner field from user's model, made migrations and now when i'm sending post request to my user's endpoint i have this exception. django.core.exceptions.ImproperlyConfigured: Field name is_owner is not valid for model User. But i can't found any place in project, using Ctrl Shift F, where old i_owner field can be called. In ruquest i using this field nowhere too. enter image description here -
raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured
raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. Unable to figure out my error. Below is my settings.py Generated by 'django-admin startproject' using Django 3.2.9. For more information on this file, see https://docs.djangoproject.com/en/3.2/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.2/ref/settings/ """ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. import category.context_processors BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'django-insecure-(@pq@&r(t2tm_m8ci@$%z_z^l+kbnxdyd5#_+h8ckafos&8b5*' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'category', 'accounts', 'store', ] 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', ] ROOT_URLCONF = 'greatkart.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['templates'], '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', 'category.context_processors.menu_links', ], }, }, ] WSGI_APPLICATION = 'greatkart.wsgi.application' AUTH_USER_MODEL = 'accounts.Account' # Database # https://docs.djangoproject.com/en/3.2/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } … -
Django - Return all objects in table where attribute A is in list B OR attribute C is in list D
So below I have this code where the request has the current User object. A User can have "followers" which are represented by FollowUser and they can follow another user's goal, which is represented by FollowGoal. I want to return all the posts that the current user which is represented by request.user. I want to be able to get all posts where the creator is someone the current user is following or is a goal the current user is following. As you can see below I generate a list of UUID for both the followees of the current user (people they are following) as well as a list of UUID for the goals the current user is following. Then I do <attribute>__in, but for some reason it's returning an empty list. Even if I just filter by followees or follow goals. Not sure why it's returning an empty list. I generated fake data that represent both the cases of posts created by followees of the current user and goals the current user is following. The Post object should filter if the creator is by someone the current user is following OR the goal is a goal the currrent user is … -
Unable to deploy Django app on Heroku, getting Traceback on `python manage.py collectstatic`
I was going to deploy my app on heroku. I have set all of the paths such as STATIC_ROOT, STATIC_URL and STATICFILES_DIRS correctly. I am still getting the error. Anyone knows whats wrong? Traceback error remote: Traceback (most recent call last): remote: File "/tmp/build_64cf714d/manage.py", line 22, in <module> remote: main() remote: File "/tmp/build_64cf714d/manage.py", line 18, in main remote: execute_from_command_line(sys.argv) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line remote: utility.execute() remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute remote: self.fetch_command(subcommand).run_from_argv(self.argv) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv remote: self.execute(*args, **cmd_options) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute remote: output = self.handle(*args, **options) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle remote: collected = self.collect() remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 128, in collect remote: for original_path, processed_path, processed in processor: remote: File "/app/.heroku/python/lib/python3.9/site-packages/whitenoise/storage.py", line 148, in post_process_with_compression remote: for name, hashed_name, processed in files: remote: File "/app/.heroku/python/lib/python3.9/site-packages/whitenoise/storage.py", line 88, in post_process remote: for name, hashed_name, processed in files: remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/storage.py", line 399, in post_process remote: yield from super().post_process(*args, **kwargs) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/storage.py", line 231, in post_process remote: for name, hashed_name, processed, _ in self._post_process(paths, adjustable_paths, hashed_files): remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/storage.py", line 288, in _post_process remote: content = pattern.sub(converter, content) remote: File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/staticfiles/storage.py", line 187, in converter … -
Is nginx required to deploy a gatsby front end beside a django REST backend?
I'm currently trying to deploy a Django REST backend and a React/Gatsby frontend to Heroku (using the steps outlined in this article https://dev.to/mdrhmn/deploying-react-django-app-using-heroku-2gfa), and I'm having some issues sending requests from the front end to the back end. GET Instruction useEffect(() => { fetch('http://127.0.0.1:8000/ljwe/symbol/?freq=monthly&symbol_id=1') .then(res => res.json()) .then(data => setOptions(data)) .catch((err) => {console.error(err)}) }, []); CORS_ALLOW_ALL_ORIGINS = True in settings.py "proxy": "http://localhost:8000" in both gatsby-config.js and package.json files Locally, everything works fine and the database is successfully queried, returning the proper information Unfortunately, when I push my changes to Heroku, the data is no longer displayed. I'm using the following build packs: heroku/node.js https://github.com/heroku/heroku-buildpack-static heroku/python When I run heroku run psql <heroku_app> I can query the app's database and see relevant entries in the tables. In addition, when I manually enter my API endpoints on the Heroku-hosted version, they work as intended. My Heroku logs also seem to show the request going through fine. Browser Console Output -
How i transfer data(variables) from one html page to another page, here i am using html & django framework
here in my code i am displaying elements from a database using a loop at the the user click buy button, i want to pass the particular product id to another page. how i get the product id & how it passed to another page... HTML page {% for product in products %} <div class="col-md-3"> <div class="card"> <img src="{{product.product_image}}" class="card-img-top" alt="..."> <div class="card-body"> <h5 class="card-title">{{product.product_name}}</h5> <p class="card-text">₹{{product.product_price}}</p> <a href="{% url 'buy' %}" class="btn btn-primary"> Buy</a> </div> </div> </div> {% endfor %} -
Connection refused when accessing Nginx container from React container
I'm trying to run the Django-React application inside the docker, when I start testing the React application, this error appears. FetchError: request to http://localhost/media/filer_public/03/58/0358cfac-1ac5-4caa-8b6b-bd20361dd878/import_filesa0a0b76730363b11ebb8a73cf86249c70c_b167f69b364a11ebb8a73cf86249c70c.jpg failed, reason: connect ECONNREFUSED 127.0.0.1:80 Pay attention to _next As I understand it, there is a request for localhost:80 inside the React container, but since there is no such address in this container, this exception is raised. Images that are just a request to localhost:80/media/filer.../ receive a response. Example of an image request that works <img src="http://localhost/media/filer_public/03/58/0358cfac-1ac5-4caa-8b6b-bd20361dd878/import_filesa0a0b76730363b11ebb8a73cf86249c70c_b167f69b364a11ebb8a73cf86249c70c.jpg" /> At the moment I am passing the api address in a similar way via .env file BACKEND_ADDRESS=localhost:80 Is it possible to pass the address of the Nginx container to the React container? Or are there any other ways to solve the problem? docker-compose.yml version: "3.8" services: nginx: restart: unless-stopped build: context: . dockerfile: ./nginx/Dockerfile ports: - 80:80 volumes: - media:/code/media/ - static:/code/staticfiles/ - ./nginx/conf:/etc/nginx/conf.d depends_on: - app networks: - backend db: image: postgres:latest volumes: - db-data:/var/lib/postgresql/data environment: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres networks: - backend app: container_name: django_app build: . command: gunicorn project.wsgi:application --bind 0.0.0.0:8000 --reload --workers=4 --threads=4 --access-logfile - ports: - 8000:8000 volumes: - .:/code - media:/code/media/ - static:/code/staticfiles/ depends_on: - db networks: - backend redis: … -
Why isn't Django Rest Framework Token Authentication working?
I am currently using Django rest framework and trying to implement a Token Authentication system. Currently, my settings.py looks like this: REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.TokenAuthentication' ] } and rest_framework.authtoken is in installed_apps. My urls.py looks like this: urlpatterns = [ ... url('^v1/users/$', views.users_view), ... ] My views.py looks like this: @authentication_classes((TokenAuthentication,)) @api_view(['PUT', 'POST']) def users_view(request): ... I'm working in postman to test the API and regardless of whether I put the token in the Bearer Token authorization field, the API works as intended. What do I need to change for the token authentication to work as intended? -
query set too many objects to unpack expected(2) in django templateView
I have written a view to show open,completed,accepted and closed tickets on dashboard on clicking which goes into particular url to display the tickets accordingly and am switching the templates according to their status,I am quering the ticket status and i get the following error too many objects to unpack (expected 2) models.py class Ticket(models.Model): ticket_title = models.CharField(max_length=200) ticket_description = models.TextField() created_by = models.ForeignKey(User,related_name = 'created_by',blank=True,null=True,on_delete=models.CASCADE) STATUS_CHOICES = ( ('Opened','Opened'), ('Accepted','Accepted'), ('Completed','Completed'), ('Closed','Closed') ) status = models.CharField('Status',choices=STATUS_CHOICES,max_length = 100,default = 'Opened') closed_date = models.DateTimeField(blank=True,null=True) completed_date = models.DateTimeField(blank=True,null=True) accepted_date = models.DateTimeField(blank=True,null=True) opened_date = models.DateTimeField(blank=True,null=True) accepted_by = models.ForeignKey(User,related_name='assigned_to',on_delete=models.CASCADE,blank=True,null=True) created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) def __str__(self): return self.ticket_title Views.py class DeveloperTicketView(TemplateView): def get_template_names(self): ticket_type = Ticket.objects.filter('status') if ticket_type == "Opened": template_name = 'app/open_tickets.html' elif ticket_type == 'Accepted': template_name = 'app/dev_accepted_ticket.html' elif ticket_type == 'Completed': template_name = 'app/dev_completed_tickets.html' else: template_name = 'app/dev_closed_tickets.html' return template_name def get_context_data(self, **kwargs): context = super(TemplateView,self).get_context_data(**kwargs) context['open_tickets'] = Ticket.objects.filter(status = 'Opened') context['accepted_tickets'] = Ticket.objects.filter(status = 'Accepted',accepted_by = self.request.user) context['completed_tickets'] = Ticket.objects.filter(status = 'Completed',accepted_by = self.request.user) context['closed_tickets'] = Ticket.objects.filter(status = 'Closed',accepted_by = self.request.user) return context -
Django - Can't read media files
I'm using Django to create a website where you can upload an image on that website and check if the image contains Moire pattern. Here is the project structure: In file settings.py, I specified the following directory for media files: MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' and in file views.py, I implemented the API that will receive the image and detect moire pattern like this: from django.core.files.storage import default_storage def index(request): if request.method == 'POST': f = request.FILES['sentFile'] response = {} fname = 'pic.jpg' fname2 = default_storage.save(fname, f) file_url = default_storage.url(fname2) image = Image.open(file_url) pred_label = moire_detect(image) response['label'] = pred_label return render(request, 'frontpage.html', response) else: return render(request, 'frontpage.html') However, when I try to open the image using Image module of Pillow, I got this error "No such file or directory: '/media/pic_O1TOyCK.jpg'". I don't really understand what is happening here, because the path is correct. Any help would be really appreciated. -
Add total pages to the Django Rest Framework response when using pagination
At the Django Rest Framework Documentation you can add pagination according to the document at this link: https://www.django-rest-framework.org/api-guide/pagination/#modifying-the-pagination-style class StandardResultsSetPagination(PageNumberPagination): page_size = 100 page_size_query_param = 'page_size' max_page_size = 1000 and the response will look like: HTTP 200 OK { "count": 1023 "next": "https://api.example.org/accounts/?page=5", "previous": "https://api.example.org/accounts/?page=3", "results": [ … ] } How can I add "total_pages" to the response? HTTP 200 OK { "count": 1023 ==>"total_pages": 12 "next": "https://api.example.org/accounts/?page=5", "previous": "https://api.example.org/accounts/?page=3", "results": [ … ] } I looked into the DRF code and saw the PageNumberPagination class has a "num_pages" property. But I'm not sure how to call it in the StandardResultsSetPagination class. https://github.com/encode/django-rest-framework/blob/0323d6f8955f987771269506ca5da461e2e7a248/rest_framework/pagination.py -
Passing json data to django template and then to chartjs
I have two problems here. problem 1: I was trying to get my data converted to JSON and then pass it to a django template.But somehow it throws "Uncaught SyntaxError: Unexpected token '&'" when i checked in the console. However the data when put in between {{}} in django html template renders properly. Then found out my JSON data came with replaced all the quotes with & quot;. Why is this happening? How to solve this? views.py def tweetCount(request): tweetCount = api2.get_recent_tweets_count(query) tweetData = [] for tweet in tweetCount.data: obj = {} obj['end'] = tweet['end'] obj['count'] = tweet['tweet_count'] tweetData.append(obj) tweetData = json.dumps(tweetData) return render(request, 'tweetCount.html', {'tweetData' : tweetData}) tweetCount.html {% extends 'main.html' %} {% block content %} <p>{{ tweetData }}</p> <div id="container" style="width: 75%"> <canvas id="chart"></canvas> </div> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <script> var data = {{tweetData}} console.log(data) </script> {% endblock %} problem 2 : How do I use this data in chartjs ? I want a Time scale graph. Someone please help me with this. -
Django API ServerError 500 ChunkedEncodingError IncompleteRead
I made an API Server using Django restframework. And Android Client will use it. When I request POST in webpage, it works without any problem. But in android, It raise 500 internal server error.. I don't know the reasons. Then I try to request using httpie on django terminal. It raised 500 Internal ServerError and ChunkedEncodingError. (venv) C:\github\dj-postgres-heroku>http --json -v POST asap-ds.herokuapp.com/users/profiles nickname="키위" introductin="http응답확인" jobs=null related_user={"phone_nm"="01044447777", "login_ID"="Qkrgydnjs99", "age"=20,"gender"=0,"password"="Qkrgydnjs99"} POST /users/profiles HTTP/1.1 Accept: application/json, */*;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Content-Length: 206 Content-Type: application/json Host: asap-ds.herokuapp.com User-Agent: HTTPie/2.6.0 { "age": "20,gender=0,password=Qkrgydnjs99}", "introduction": "http응답확인", "jobs": "null", "login_ID": "Qkrgydnjs99,", "nickname": "키위", "related_user": "{phone_nm=01044447777," } HTTP/1.1 500 Internal Server Error Connection: keep-alive Content-Type: text/html Date: Tue, 23 Nov 2021 03:38:37 GMT Referrer-Policy: same-origin Server: gunicorn Transfer-Encoding: chunked Via: 1.1 vegur X-Content-Type-Options: nosniff http: error: ChunkedEncodingError: ('Connection broken: IncompleteRead(5578 bytes read, 4662 more expected)', IncompleteRead(5578 bytes read, 4662 more expected)) When I request on webpage, I works well. HTTP 201 Created Allow: GET, POST, HEAD, OPTIONS Content-Type: application/json Vary: Accept { "nickname": "악어", "introduction": "웹페이지에서", "jobs": null } enter image description here Please anybody help me.. -
My save() method dosen't work when user has foreignKey set to object None
I have a user update form. The user model contains a field that is a foreign key to a group object. When I want to update a user that does not have a group set (value = None) then the save() method does not get called after click "save" button. group_name = models.ForeignKey(Group, on_delete=models.CASCADE, blank=True, null=True) -
Unable to get records using Django ORM
Problem: Trying to get a record using Django ORM, from a table that contains a JSON field, I'm using the following line: test_object = House.objects.get(id=301) Error TypeError: the JSON object must be str, bytes or bytearray, not dict Possible issue Noticed that a previous developer updated the format of the JSON field in the table, seems that JSON had a bad format. Script used to format the JSON column: for i in data: jsonstring = json.dumps(i.result) new_clear = jsonstring.replace("\\", "") new_clear = jsonstring.replace("NaN", "null") i.result = json.loads(new_clear) i.save() Comments In pgAdmin the JSON field looks good and it is formatted properly, see a partial copy of the JSON below: {"owner_id": 45897, "first_name": "John", "last_name": "DNC", "estate_id": 3201, "sale_date": "3/18/19", "property_street": "123 main st", "property_city": "Miami", "property_state": "FL", "property_zipcode": 33125, "Input_First_Name": "John", "Input_Last_Name": "DNC"} I would like to know how to deal with this JSON field in order to query the object. Any help will be appreciated. Thanks. -
Celery/redis tasks don't always complete - not sure why or how to fit it
I am running celery v 4.0.3/redis v 4.09 in a django v 3.0.1 application (Python v 3.6.9). I am also using face_recognition in a celery task find_faces to find faces in the images I have uploaded to the application, among other image processing celery tasks. There are no issues processing five or fewer image files in that all the image processing celery tasks complete successfully. When I have the image process tasks (including find_faces) iterate over 100 images there are 10-30 images where the find_faces task does not complete. When I use flower v0.9.7 to take a look at the celery tasks, I see that the find_faces task status is "started" for those images that did not complete. All the other images have find_faces task status as "success". The status of these "started" tasks never changes, and there are no errors or exceptions reported. I can then run the image processing tasks, including the find_faces task, on each of these images individually, and the task status is "success". These results do not change if I run celery as a daemon or locally, or if I run the django app using wsgi and apache or runserver. Flower also reports that retries … -
How to sum annotation values by groupby in Django
In Django, an error occurs when calculating (Sum) with the value obtained by annotate rather than as a unique field of the model. Is it possible to calculate with only unique fields? I want to find Sum by groupby 'enroll_injection' value into 'student__research' . enroll_injection = test.filter(Q(student__is_deleted=0))\ .values('student')\ .annotate(injection=Max('injection_date'), enroll=Max('enroll_date'))\ .values('student__research')\ .annotate(enroll_injection=Cast(F('enroll_date'), DateField()) - Cast(F('injection_date'), DateField()))\ .values('assignment__research__research_name', 'enroll_injection')\ .order_by('assignment__research__research_name') Error: Cannot compute Sum('<CombinedExpression: Cast(F(enroll_date)) - Cast(F(injection_date))>'): '<CombinedExpression: Cast(F(enroll_date)) - Cast(F(injection_date))>' is an aggregate -
Django tests are not outputting Messages in template rendering
I can't seem to get a unit test to check if Messages are rendering properly in my template. As per my template, I'm not getting any output where the messages should be listed. I'm using pytest 6.2.5 and Django 3.1.13 if that's helpful. Here is my test code: import pytest from django.contrib import messages from django.contrib.messages.middleware import MessageMiddleware from django.contrib.sessions.middleware import SessionMiddleware from django.test import RequestFactory from django.views.generic import TemplateView pytestmark = pytest.mark.django_db class TestBaseTemplate: def test_messages_middleware(self): request = RequestFactory().get("/") view = TemplateView.as_view(template_name="base.html") middleware1 = SessionMiddleware() middleware1.process_request(request) request.session.save() middleware2 = MessageMiddleware() middleware2.process_request(request) foobar_msg = "Hello, world!" messages.info(request, foobar_msg) request.session.save() response = view(request) response.render() content = response.content.decode("utf-8") # This assert fails assert foobar_msg in content My message block in the template (base.html) is straight-forward (and does work in views that send messages): {% if messages %} <div> {% for message in messages %} <p>{{ message }}</p> {% endfor %} </div> {% endif %} I can see through debugging that before you get to rendering the response that the "Hello, world!" message is being noted properly in the request via the Session/Message middleware, it's just not being rendered in the response. Any ideas on what I'm missing? Do I need to do … -
Django 3.2 - login form on homepage
I’m fairly new to Djanjo, and I have got a simple app working, however all the tutorials I can find have a “login” link on the homepage which redirects to a login page, this seems unnecessary ( at least for what i want ), I’d prefer to have the login page on the homepage, so the user can log straight in from there. I found some very old questions on here where people asking same/similar, but the answers seem old and perhaps even overly complicated. I think what I need to do, is to somehow set my urls.cfg in config/ for ‘’ to point to the built in auth view, but I cannot find a clear example of that. I’d like to achieve it with minimal customization. Just looking for an upto date pointer in the right direction for latest Django 3 please, if anyone can help me better understand what I should do.