Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How can I connect my existing external PostgreSQL Database to automatically create my Models.py for a Django Rest Framework?
I have an existing PostgreSQL Database and I want to create APIs around it using Django Rest Framework. How do I display the tables in my Database as models in Django to further use them for the API? -
can i used model A field in model B as foregin key and model B field in model A as OnetoOneField in django
model A: field 1 field 2 --> foregin key model B model B: field 1 field 2 --> foregin key model A -
TypeError: unhashable type: 'dict' while annotate
for value in (annotated_qs.values('row', 'col').order_by('row', 'col').annotate(count=Count('row'))): print('---------value--------', value['row'],value['col]) -
How to use django rest framework [closed]
Thanks for your time. I'm a self taught Jr Developer and just re-done the Django rest-framework quick start for the third time. although i'm not beeing able to understand his usability and reasons. As far as i know the great part of a REST Full api is to receive the data as a common data format (ex: JSON, Xml, etc.), to be able to communicate with all type of API's. with the same database. allowing to comunicate with differents kind of OS. ----> Please correct me if i'm wrong <---- I'd like if i'm right and how to comunicate the rest framework system with the front end of the web api, should i use JS? is there any tutorial that you could recommend me to understand the whole picture of how a rest api should work and apply it on Django? -
Run server Django
I am trying to setup Django on my device but I am encountering issues. I am able to install python and setup a virtual environment, but I am unclear as to whether Django is established. I have tried reinstalling both Django and Python, but it does appear that Django is installed. The issue presents itself when I try to run the Django server in a virtual environment (or even not in a virtual environment). I am confronted by the following error: "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?" Any advice would be gratefully received. Thanks. Screen shot -
Google sheets api- Python/Django, receive a hidden links from cells
enter image description here Hi, I have a problem with parsing a link from google sheets cells. I need to create parser that will parse sheets with links in cells. Here is a piece of code: range='Some Table!A2:J28', valueRenderOption='FORMULA').execute()``` But I received only the name from the cell. How can I receive a hidden link? -
Django REST Framework. How to get full url of a page with protocol, domain, and path?
There is Django REST framework. I need to unload the full path of the page into the tag. For example, there is a page: https://domain-name.com/category/article In serializers.py: class someClass(serializers.ModelSerializer): url = serializers.URLField(source='get_absolute_url', read_only=True) class Meta: model = onlyURL fields = ['url'] This does not work correctly, since I do not get the full url, only part: <url>**/category/article**</url> How to get full url with protocol, domain, and path? -
Django Template inheritance is not working
I am using base.html {% extends "base.html"%} but when i render them by using my block they are not rendering The own Content of file is not loading pls help -
Create nested pages-list from Postgresql database using Django
I want to store nested pages-list using Django models. I want to to use; page_id parent_page_id title fields. But ı dont know how to get pagelist as a json using recursive function like; -Page1 -Page1.1 -Page1.2 -Page1.2.1 Is there any method for this? Is it enough to use only parent_page_id ? -
Convert Javascript Datetime object to Django python3 datetime field
From the webpage I pass a JavaScript Datetime object to my Django(v2.2) function views.py Ex: sdate = new Date() Fri Dec 18 2020 13:09:19 GMT+0530 (India Standard Time) Using the datetime.datetime.strptime function I was able to match most of the object except the timezone difference (+0530 (India Standard Time)) Here is my code: datetime.strptime(sdate, "%a %b %d %Y %H:%M:%S %Z+0530 (India Standard Time)") How to match the +0530 and India Standard Time using any other datetime specifier? Because the incoming datetime objects are not always of IST time. -
Got AttributeError when attempting to get a value for field `phone_number` on serializer
AttributeError:Got AttributeError when attempting to get a value for field phone_number on serializer ListBusCompanyStaffSerializer. Bascially I have two models User and BusCompanyStaff, User consists of phone_number field BusCompanyStaff consists of following models fields class BusCompanyStaff(BaseModel): user = models.OneToOneField( BusCompanyUser, on_delete=models.CASCADE ) position = models.ForeignKey( StaffPosition, on_delete=models.SET_NULL, null=True, related_name='position' ) created_by = models.ForeignKey( User, on_delete=models.CASCADE, related_name='created_by' ) staff_of = models.ForeignKey( BusCompany, on_delete=models.CASCADE ) I basically wants to list particular BusCompanyStaff from BusCompany so here is my serializer I tried till now class ListBusCompanyStaffSerializer(serializers.ModelSerializer): position = serializers.CharField() class Meta: model = BusCompanyStaff fields = ( 'id', 'phone_number', 'position', 'email', ) there is defintely Error as BusCompanyStaff dont consist of phone_number field but requirement is to put User phone number and email Here is my rest of code in views.py and usecases.py #usecases.py class ListBusCompanyStaffUseCase(BaseUseCase): def __init__(self, bus_company: BusCompany): self._bus_company = bus_company def execute(self): self._factory() return self._bus_company_staffs def _factory(self): self._bus_company_staffs = BusCompanyStaff.objects.filter(staff_of=self._bus_company) #views.py class ListBusCompanyStaffView(generics.ListAPIView): serializer_class = bus_company_user_serializers.ListBusCompanyStaffSerializer def get_bus_company(self): return GetBusCompanyUseCase( bus_company_id=self.kwargs.get('bus_company_id') ).execute() def get_queryset(self): return ListBusCompanyStaffUseCase( bus_company=self.get_bus_company() ).execute() how can I serialize in this format id , phone_number , position, email, -
DRF Help to solve nested serializers dependency
So, Here is my serializers structure in the Django Rest FrameWork: class FieldDataSerializer(serializers.ModelSerializer): class Meta: model = FieldData fields = '__all__' extra_kwargs = {'data_size': {'read_only': True}, } parent = DataSheetFieldSerializer(many=False, required=True) owner = MemberSerializer(many=False, required=True) class IndexedFieldDataSerializer(serializers.ModelSerializer): class Meta: model = IndexedFieldData fields = '__all__' field_data = FieldDataSerializer(many=False, required=True) class DataSheetFieldSerializer(serializers.ModelSerializer): class Meta: model = DataSheetField fields = '__all__' extra_kwargs = {'is_indexed': {'read_only': True}, } @property def field_size(self): return record_data_manager.get_field_size(self.data['id']) size = serializers.ReadOnlyField(source='field_size') data = FieldDataSerializer(many=True) indexed_data = IndexedFieldDataSerializer(many=True) owner = MemberSerializer(many=False, required=True) parent = DataSheetSerializer(many=False, required=True) class DataSheetsCategorySerializer(serializers.ModelSerializer): class Meta: model = DataSheetsCategory fields = '__all__' parent = ClusterSerializer(many=False, required=True) class DataSheetSerializer(serializers.ModelSerializer): class Meta: model = DataSheet fields = '__all__' @property def datasheet_size(self): return record_data_manager.get_datasheet_size(self.data['id']) size = serializers.ReadOnlyField(source='datasheet_size') fields = DataSheetFieldSerializer(many=True, read_only=True) parent = DataSheetsCategorySerializer(required=False, many=False) owner = MemberSerializer(required=True, many=False) class ClusterSerializer(serializers.ModelSerializer): class Meta: model = DataSheetsCluster fields = '__all__' extra_kwargs = {'total_size_limit': {'read_only': True}, } @property def cluster_size(self): return record_data_manager.get_cluster_size(self.data['id']) size = serializers.ReadOnlyField(source='cluster_size') members = MemberSerializer(many=True) roles = RoleSerializer(many=True) datasheets = DataSheetSerializer(many=True, read_only=True) owner = MemberSerializer(many=False, required=True) As you can see, I am having trouble because of my model's structure. I cannot reference the serializers below and hence am getting an unreferenced error, my serializers are nested. How … -
How to filter Double reverse filtering using Django ORM
Hello I am having following model structure class Product: size = models.CharField(max_length=200) class Make(models.Model): make_content = models.ForeignKey(Product, related_name='make_set') department = models.CharField(max_length=200) class MakeContent(models.Model): make = models.ForeignKey(Make, related_name='make_content_set') published = models.BooleanField() If I need to filter Product according to Make I can able to use related name qs = Product.objects.filter(make_set__department = "Sample") It's working fine Now what I need is I need to filter the Product according to MakeContent I have tried this qs = Product.objects.filter(make_set__make_content_set__published = True) This is not working , is there any other idea ? -
Can't delete old records from DB in Django
I have a code that makes a ip logs to DB like this. It should make the log when someone visit a page. The first part of code works and creates logs in my DB. def ClientIP(request, name="Default Name"): try: x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') browser = request.META['HTTP_USER_AGENT'] except: return dt, tm = str(datetime.now().strftime("%Y-%m-%d&%H:%M")).split("&") if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') IpLogs.objects.create( date = dt, time = tm, ip = str(ip), page_name = str(name), browser = str(browser) ) max_date = IpLogs.objects.order_by('-date')[5] delete_qs = IpLogs.objects.filter(date__lt=max_date) delete_qs.delete() return In the last part of the code I'm trying to delete records, that are older than last 5 records. I'm getting this error TypeError: expected string or bytes-like object in this line delete_qs = IpLogs.objects.filter(date__lt=max_date) My model looks like this class IpLogs(models.Model): date = models.DateField() time = models.TimeField() ip = models.CharField(max_length=20) page_name = models.CharField(max_length=50) browser = models.CharField(max_length=300) def __str__(self): return self.ip class Meta: ordering = ['-date'] local variables are browser ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ' 'Gecko) Chrome/87.0.4280.101 Safari/537.36') dt '2020-12-18' ip '192.168.71.58' max_date <IpLogs: 192.168.71.58> name 'DB tools' request <WSGIRequest: GET '/'> tm '14:52' What I'm doing wrong??? -
Djano filtering many-to-many results
I have an application where people can vote for multiple artists. On the results page I want to filter on country. In other words: I only wan't to show votes that are cast from a certain country. The count of votes works, but in the template still all the emails of the voters are shown and not only from the country in the filter. My model: class Artist(models.Model): id = models.AutoField(primary_key=True) name = models.CharField('Artist name', max_length=100) def __str__(self): return self.name class Vote(models.Model): email = models.EmailField(null=True) country = CountryField(default="US") artists = models.ManyToManyField(Artist, related_name='selectedartists') def __str__(self): return self.email The part of the view where the filtering is done: results = Artist.objects.filter(selectedartists__isnull=False) if countryquery == '' or countryquery == 'all': countryquery = 'all' results = results.annotate(total=Count('selectedartists', distinct=True)) else: results = results.filter(selectedartists__country=countryquery) results = results.annotate(total=Count('selectedartists', filter=Q(selectedartists__country=countryquery), distinct=True)) and this is my template {% if results %} {% for artist in results %} {{artist.name}} Votes:{ artist.total }} Voters: {{artist.selectedartists.all|join:', '}} {% endfor %} {% else %} <div class="noresults">No results</div> {% endif %} -
Rails Sorcery to Django Auth
I'm using Rails with "Sorcery" gem for authentication. https://github.com/Sorcery/sorcery Is it possible to migrate to Django default auth using the same model(DB Table)? I don't want to request all user to set new passwords. -
Access-Control-Allow-Origin header is missing despite using django-cors-headers
I'm trying to incorporate django-cors-headers into my project, but so far it doesn't seem to work - the Access-Control-Allow-Origin header is missing from the responses. I have added corsheaders to the installed apps: INSTALLED_APPS = [ ... 'corsheaders', ] And the middleware is at the top of the middleware list: MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', ... ] I've also tried both CORS_ORIGIN_ALLOW_ALL = True and CORS_ALLOW_ALL_ORIGINS = True but so far, the header is still missing. I also added CORS_ALLOW_CREDENTIALS = True to no avail. What could be the issue here? I've tried to follow the instructions from https://github.com/adamchainz/django-cors-headers#configuration but just can't get the header to appear in responses. -
Use the Dates from a text file as options for a drop-down list
Im doing a simulation of prices and creating a page for it. The page will ask what year the user would like to simulate and the type of simulation to do (Monthly/weekly) Based on the user's inputs, the page will open the text file that have filenames like this 2015_monthly.txt 2015_weekly.txt 2014_monthly.txt 2014_weekly.txt Each file contains dates of when the simulation would end. For instance in 2015_monthly.txt 2015-01-30 2015-02-28 2015-03-31 . . . What would i like to do is to ask the user to choose a date from the text file. I would like to do this in a dropdown list containing the dates from the file and use them as an options from a dropdown list. How can i translate this into a html code? -
Django adding event to Month of a Calender issue
I am working on a Calender project, for the already got the code online. if booking an event we give a start date and end date. if submit the form the event will get saved in the calendar only on the start time, the event is visible in the calendar template, My requirement is that Now I want to modify the calendar so that all the dates matching the start date and end date should show the event. Example: i have given the start date as 20th Dec 2020 and the end date as 24th Dec.. so in the calendar, the same event should show on 20,21,22,23,24... days I believe here I am inserting the data in the Html template, i need to pass end time here that i don't know events_per_day = events.filter(start_time__day=day) d = '' for event in events_per_day: d += f'<li> {event.get_html_url} </li>' Tried alot but no success Below is the code : Models from django.db import models from django.urls import reverse class Event(models.Model): title = models.CharField(max_length=200) description = models.TextField() start_time = models.DateTimeField() end_time = models.DateTimeField() @property def get_html_url(self): url = reverse('cal:event_edit', args=(self.id,)) return f'<a href="{url}"> {self.title} </a>'} utils,py from datetime import datetime, timedelta from calendar import … -
Date form fields in Django with data-dependent-fields attribute error messages are not properly displayed
My requirement is to display error message when date difference between from and to date is more than 6 months. When I change the to_date field keeping from_date constant, errors are displaying when the range is greater than 6 months. But, when I change the from_date keeping to_date constant, error message is getting cleared for valid case and when I change the from_date to have difference more than 6 months error message is not getting displayed. I tried debugging the backend code too and error messages is getting added properly. It is only problem with displaying in frontend. Following is forms code from_date = forms.DateField( label=_("From Date"), required=False, widget=forms.DateInput( attrs={ 'class': 'date-field input-medium', 'data-dependent-fields': '#id_to_date', }, format="%m/%d/%Y" ) ) to_date = forms.DateField( label=_("To Date"), required=False, widget=forms.DateInput( attrs={ 'class': 'date-field input-medium', 'data-enable': 'true', 'data-dependent-fields': '#id_from_date' }, format="%m/%d/%Y" ) ) Following is backend code to add error messages if cleaned_data.get('from_date') and cleaned_data.get('to_date'): limit_date = cleaned_data.get('from_date') + relativedelta(months=+_(constants.DATE_RANGE_6M)) if limit_date < cleaned_data.get('to_date'): self._errors["to_date"] = self.error_class([_(constants.INVALID_DATE_RANGE_6M_ERROR)]) Non-Working case Working case Django Version is 1.11.18 -
can't make changes to database or create new one
everything worked fine till yesterday, i noticed that can't make changes or create new objects! that's not a .save() problem, cause i tried even through the Django admin and again got stuck for a while and then the 502 error page showed up! the project on my laptop works fine! the same project with the same version of postgresql (but in Pycharm) and i use cdn and ufw too. actually im not familiar with ufw and perhaps you could help me! thanks -
Django rest knox - Forbidden (CSRF cookie not set.)
I am using Django, rest, knox and while some things work (viewsets work well) I cannot get POST to work (without a viewset) without getting this error Forbidden (CSRF cookie not set.). Using GET I am able to retrieve fine, but POST/PUT produces this error. A few more details. When I use a viewset I can successfully POST/PUT and GET so all authentication pieces work well. However, it's when I am not using a viewset and using POST/PUT that I receive this error. -
Django 'ModelBase' object is not iterable TypeError
Getting the below from a unit test in Django. Can't seem to figure out the reason this is happening. My migrations look identical to the other migrations I have made. Also, I was able to run this on my local machine in the admin section, so my other question is is this big deal if it is happening during the test, if it can be pushed live. Trying to follow best practices here, so appreciate others opinions on that. models.py class LeadComplete(models.Model): """Complete lead info""" user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING, ) title=models.CharField(max_length=255) time_minutes = models.IntegerField() score = models.DecimalField(max_digits=5, decimal_places=2) link = models.CharField(max_length=255, blank=True) client = models.ManyToManyField('Client') def __str__(self): return self.title serializers.py class LeadCompleteSerializer(serializers.ModelSerializer): """Serialize a leadComplete""" client = serializers.PrimaryKeyRelatedField( many=True, queryset=Client.objects.all() ) class Meta: model = LeadComplete fields = [ 'id', 'title', 'time_minutes', 'score', 'link', 'client', ] read_only_fields = ('id',) views.py class LeadCompleteViewSet(viewsets.ModelViewSet): """Manage LeadComplete in the database""" serializer_class = serializers.LeadCompleteSerializer queryset = LeadComplete.objects.all() authentication_classes = (TokenAuthentication,) permission_classes = (IsAuthenticated,) def get_queryset(self): """Retrieve the leadcomplete for the authed user""" return self.queryset.filter(user=self.request.user) test_lead_complete_api.py from django.contrib.auth import get_user_model from django.test import TestCase from django.urls import reverse from rest_framework import status from rest_framework.test import APIClient from core.models import LeadComplete from leads.serializers import LeadCompleteSerializer … -
Pass extra argument to auth url
I am trying to implement google allauth authentication. Before clicking this button to make google register a user: <a href="{% provider_login_url 'google' %}" type="submit">Registrarse with Google</a> I have this input field <input id="nombrelink" placeholder="specialname"></input> What that button does is automatically register and log the user in. I would like to pass this input parameter to the google button so that whenever someone creates an account, that inputs gets prepended to their database How can I pass an extra argument to that url? -
How to handle asynchronous tasks with queues defined on a user (or other attribute) basis with django and celery?
thank you for viewing my question. I am new to celery and I am trying to wrap my head around the world of threading and multiprocessing, but I cannot seem to find any info that fits my specific use case. Consider this, I have a django-rest-framework API for my personal trading software that receives post requests to perform a buy or sell order to my broker's REST API. Now, I want to make sure that my API can handle numerous concurrent requests and queue those requests and process those in the order that they were received. One task cannot happen before the other if finished because the next task will rely on database information that the former task has written. I have implemented a celery instance to process a FIFO queue. Here lies my question, lets say I have multiple strategies, and I don't want the queues from multiple strategies to be mixed in the same queue. I want an asynchronous queue per strategy. Do I now require multiple worker instances, or can I separate queues into one worker instance? What exactly would that syntax look like or what celery methods should I be looking in to? The post request …