Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
django.db.utils.ProgrammingError: relation "django_content_type" already exists
When I create a new model and ran the server I am getting an error as "django.db.utils.ProgrammingError: relation "django_content_type" already exists". As I couldnt able to create a new table in the existing database. I have tried all the existing solutions still couldnt able to resolve it. kindly help me with it. Tried solutions: manage.py migrate --fake manage.py migrate --fake-initial python manage.py migrate --run-syncdb -
Using Memcached with Django and using cache page decorator for guest users but in one condition I need to invalidate the cache but dont know cache key
def inner_decorator(func): @wraps(func) def inner_function(request, *args, **kwargs): if not request.user.is_authenticated: return cache_page(*cache_args, **cache_kwargs)(func)(request, *args, **kwargs) return func(request, *args, **kwargs) return inner_function return inner_decorator``` -
Django Form not Saving The field I added
I am following a Django tutorial on Youtube, I added a bio field in the UserUpdateForm. There is a slot for me to edit the bio on change_profile.html but when I press the update button it updates everything else except for the bio. from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm from .models import Profile class UserRegisterForm(UserCreationForm): email = forms.EmailField() class Meta: model = User fields = ['username', 'email', 'password1', 'password2'] class UserUpdateForm(forms.ModelForm): email = forms.EmailField() # What I added bio = forms.CharField(required=False) class Meta: model = User fields = ['username', 'email', 'bio'] class ProfileUpdateForm(forms.ModelForm): class Meta: model = Profile fields = ['image'] The function that saves the forms @login_required def change_profile(request): if request.method == 'POST': u_form = UserUpdateForm(request.POST, instance=request.user) p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile) if u_form.is_valid() and p_form.is_valid(): u_form.save() p_form.save() messages.success(request, 'Profile Updated') return redirect('profile') else: u_form = UserUpdateForm(instance=request.user) p_form = ProfileUpdateForm(instance=request.user.profile) context = { 'u_form' : u_form, 'p_form' : p_form } return render(request, 'users/change_profile.html', context) The change_profile.html {% extends "blog/base.html" %} {% load crispy_forms_tags %} {% block title %}Change Profile{% endblock title %} {% block content %} <div class="content-section"> <form method="post" enctype="multipart/form-data"> {% csrf_token %} <fieldset class="form-group"> <legend class="border-bottom mb-4">Edit Profile</legend> {{ u_form|crispy }} … -
Unable to Create new tables in Postgres (Django rest API)
File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line 82, in _execute return self.cursor.execute(sql) django.db.utils.ProgrammingError: relation "django_content_type" already exists Can someone guide me to solve this error? -
How to order by last name on a full name column in Django?
I have a model contact with a column called FullName which contains, for example, "John Smith". How can order the data by the last name that appears in the FullName column? For a long name like "John Smith Doe", I would like to order the data by the word "Doe". I am using postgres db -
Is there a way to convert a Django project with postgresql database built from source with cube extension into a msi?
I created a Django project and distributed on IIS that uses PostgreSQL as database. I compiled PostgreSQL from source with a modification on creating an extension. It is running quite well in IIS but I just want to convert all Django project to be a MSI in order to be able to distributing on others windows PC. So please anyone advise a way or solution that can help me on this. It would be highly appreciated for your help! Thanks in advance. -
How I can do this search in a crispyforms field?
How can I do this search in a crispyforms field? I read that it could be done with django-filter but I don't know how to integrate it with Crispy-forms. enter image description here -
Change member name on serializer of Django REST framework
I am using serializer of Django REST framework class SpotSerializer(serializers.Serializer): key = serializers.IntegerField() which has field key and serialized class has key class Spot: def __init__(self, key) self.key = key output of SpotSerializer will be json and pass to as API response. { "key": 2, } However I would like to change the name. key -> spot_id like this below, just change the label name { "spot_id": 2, } Is it possible ? serializers.IntegerField(label="spot_id") doesn't work. -
Insert into select in Django
Is there any way in Django ORM to execute insert into select statement. Safe to assume that I have django models created for table2 and table1 from below query INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition; -
DRF Non-field errors: Unable to log in with provided credentials
I am struggling to understand why my app suddenly wont allow me to log in a user after any changes are made to their profile. I have a nested User serializer with the profile serializer fields (onetoOne) using Djoser for the urls. When I try to update the user profile from the api endpoint it updates but throws an error that the avatar has no file associated to it. I thought that if I added "required=False" to to the ProfileSerializer it would negate this behaviour. Please help it is driving me crazy, I have googled and not found the answer why. I think it is in my create method within my UserSerializer class. It is also not saving the avatar if any of the other fields are changed within the profile object. Very strange. It was all working fine and for some reason now its not logging in users. Here is the model: class Profile(models.Model): user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE) name = models.CharField(max_length=100, blank=True, null=True) occupation = models.CharField(max_length=100, blank=True, null=True) residence = models.CharField(max_length=100, blank=True, null=True) email = models.CharField(max_length=100, blank=True, null=True) active_id = models.BooleanField(default=True) avatar = models.ImageField(null=True, blank=True, upload_to ='uploads/profile_pics/',default='uploads/default.jpg') def __str__(self): return self.user.username def save(self, *args, **kwargs): super(Profile, self).save(*args, **kwargs) … -
Media content not show when DEBUG is False on IIS
I want run my django3.2 project on IIS v10 and I have a problem when I change Debug from True to False! Until DEBUG=True, everything working very well but when I change it to "False", MEDIA content not show! settings.py: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR,'static') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR,'media') STATICFILES_DIRS = [ BASE_DIR / "statics", ] -
Annotating Django records with GeoDjango Distance objects fails
I have a table with a GeoDjango GeometryField, and records include both points and polygons. I need to return those records with Point geometry within a given distance in km from a given point, for an external API. I first filter for Point records, annotate those with a Distance object, then filter for distance. I find the generation of the filtered queryset fed to the serializer works fine in my IDE. But when I run the view, it hangs on the annotate() step, with this error: File "/MyApp/api/views.py", line 102, in get qs1 = qs0.annotate(distance=Distance('geom', pnt)) TypeError: __init__() takes from 1 to 2 positional arguments but 3 were given What I can't figure out is why I can step through all the lines to create qs2, as the qs.count() and qs2 sorted results show, but when I run that code via a URL, it breaks at annotate(). model from django.contrib.gis.db import models as geomodels class PlaceGeom(models.Model): place = models.ForeignKey(Place,related_name='geoms') geom = geomodels.GeometryField(null=True, blank=True, srid=4326) view from django.contrib.gis.geos import Polygon, Point from django.contrib.gis.measure import D, Distance class SpatialAPIView(generics.ListAPIView): def get(self, format=None, *args, **kwargs): params = self.request.query_params lon = params.get('lon', None) lat = params.get('lat', None) dist = params.get('km', None) pnt = Point(float(lon), … -
getElementsByTagName get undefined after a href
The getElementsByTagName works well before i add the href . After i add the href into the column the getElementsByTagName get undefined. What should i do to make both works together. Script var grid = document.getElementById("Table1"); //Reference the CheckBoxes in Table. var checkBoxes = grid.getElementsByTagName("input"); var message = ""; for (var i = 0; i < checkBoxes.length; i++) { if (checkBoxes[i].checked) { var row = checkBoxes[i].parentNode.parentNode; var secondColumn = row.getElementsByTagName("td")[1].firstChild.data; var secondColumn2 = secondColumn.trim(); message += secondColumn2; message += "\n"; } } for (var rowIndex = 0; rowIndex < searchTable.rows.length; rowIndex++) { partnumber = searchTable.rows.item(rowIndex).cells.item(1).innerHTML searchTable.rows.item(rowIndex).cells.item(1).innerHTML = `<a href='http://localhost:8000/main/{{collection}}/{{title}}/${partnumber}'` +">" +partnumber + "</a>"; -
How do you call a function in a field?
I think it would be better to show you the code first before I explain: $(function() { var IMP=window.IMP; IMP.init('11111111'); $('.order-form').on('submit', function(e) { var amount = parseFloat($('.order-form input[name="amount"]').val().replace(',','')); var type=$('.order-form input[name="type"]:checked').val(); var order_id = AjaxCreateOrder(e); if(order_id==false) { alert('주문 생성 실패\n다시 시도해주세요.'); return false; } var merchant_id = AjaxStoreTransaction(e, order_id, amount, type); if(merchant_id!=='') { IMP.request_pay({ merchant_uid:merchant_id, name:'Product', buyer_name:$('input[name="first_name"]').val()+" "+$('input[name="last_name"]').val(), buyer_email:$('input[name="email"]').val(), amount:amount, m_redirect_url: 'mywebsite/payments/complete', }, function(rsp) { if(rsp.success) { var msg = '결제가 완료되었습니다.'; msg += '고유 ID : '+rsp.imp_uid; // 결제 완료후 보여줄 메시지 ImpTransaction(e, order_id, rsp.merchant_uid, rsp.imp_uid, rsp.paid_amount); } else { var msg = '결제에 실패하였습니다.'; msg += '에러내용 : '+ rsp.error_msg; console.log(msg); } }); } return false; }); }); function ImpTransaction(e, order_id, merchant_id, imp_id, amount) { e.preventDefault(); var request = $.ajax({ method:"POST", url:order_validation_url, async:false, data:{ order_id:order_id, merchant_id:merchant_id, imp_id:imp_id, amount:amount, csrfmiddlewaretoken:csrf_token } }); request.done(function(data) { if(data.works) { $(location).attr('href',location.origin+order_complete_url+'?order_id='+order_id) } }); request.fail(function(jqXHR, textStatus) { if(jqXHR.status == 404) { alert("페이지가 존재하지 않습니다."); } else if(jqXHR.status==403) { alert("로그인 해주세요."); } else { alert("문제가 발생했습니다.\n다시 시도해주세요."); } }); } As you can see, I am using an Iamport(IMP) API, but that is not really important. What I want is when I run the m_redirect_url: 'mywebsite/payments/complete', I want to be able to run the ImpTransaction() … -
POST http://127.0.0.1:8000/update_item/ 500 - Django
I have a question about django. In my ecommerce website I am trying to add add to cart function. My code is working and I can add to the cart with AnonymousUser. But, when i try to add to cart when I logged in with account, I am having this error: error: Internal Server Error What is the problem? Please, help! Here is my javascript file which is called cart.js cart.js var updateBtns = document.getElementsByClassName('update-cart') for (i = 0; i < updateBtns.length; i++) { updateBtns[i].addEventListener('click', function(){ var productId = this.dataset.product var action = this.dataset.action console.log('productId:', productId, 'Action:', action) console.log('USER:', user) if (user == 'AnonymousUser'){ addCookieItem(productId, action) }else{ updateUserOrder(productId, action) } }) } function updateUserOrder(productId, action){ console.log('User is authenticated, sending data...') var url = '/update_item/' fetch(url, { method:'POST', headers:{ 'Content-Type':'application/json', 'X-CSRFToken':csrftoken, }, body:JSON.stringify({'productId':productId, 'action':action}) }) .then((response) => { return response.json() }) .then((data) => { location.reload() }) } function addCookieItem(productId, action){ console.log('User is not authenticated') if (action == 'add'){ if (cart[productId] == undefined){ cart[productId] = {'quantity':1} }else{ cart[productId]['quantity'] += 1 } } if (action == 'remove'){ cart[productId]['quantity'] -= 1 if (cart[productId]['quantity'] <= 0){ console.log('Item should be deleted') delete cart[productId] } } if (action == 'delete'){ cart[productId]['quantity'] == 0 delete cart[productId] } console.log('CART:', … -
Error occurred while reading WSGI handler: Error
when I want to open the django project, I encounter such an error. My django projects are live on the same server, but I encountered such an error on the last site I opened. web.config: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\python39\python.exe|c:\python39\lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" /> </handlers> <tracing> <traceFailedRequests> <clear /> </traceFailedRequests> </tracing> </system.webServer> <appSettings> <add key="WSGI_HANDLER" value="umy.wsgi.application" /> <add key="DJANGO_SETTINGS_MODULE" value="umy.settings" /> <add key="PYTHONPATH" value="C:\Inetpub\vhosts\domain.com\httpdocs" /> </appSettings> <system.web> <compilation tempDirectory="C:\Inetpub\vhosts\domain.com\tmp" /> </system.web> </configuration> The error I get is about; Error occurred while reading WSGI handler: Traceback (most recent call last): File "c:\python39\lib\site-packages\wfastcgi.py", line 791, in main env, handler = read_wsgi_handler(response.physical_path) File "c:\python39\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler handler = get_wsgi_handler(os.getenv("WSGI_HANDLER")) File "c:\python39\lib\site-packages\wfastcgi.py", line 616, in get_wsgi_handler raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb)) ValueError: "umy.wsgi.application" could not be imported: Traceback (most recent call last): File "c:\python39\lib\site-packages\wfastcgi.py", line 600, in get_wsgi_handler handler = __import__(module_name, fromlist=[name_list[0][0]]) File ".\umy\wsgi.py", line 9, in <module> application = get_wsgi_application() File "c:\python39\lib\site-packages\django\core\wsgi.py", line 13, in get_wsgi_application return WSGIHandler() File "c:\python39\lib\site-packages\django\core\handlers\wsgi.py", line 127, in __init__ self.load_middleware() File "c:\python39\lib\site-packages\django\core\handlers\base.py", line 40, in load_middleware middleware = import_string(middleware_path) File "c:\python39\lib\site-packages\django\utils\module_loading.py", line 17, in import_string module = import_module(module_path) File "c:\python39\lib\importlib\__init__.py", line 127, in import_module return … -
Django-Filter: Search within an ArrayField with an Array?
I have an all_positions datapoint that uses an arrayField. So some example data looks like: all_positions: ["C", "1B"], all_positions: ["RP", "CP"], all_positions: ["CP"], I'd like to be able to make a request similar to /api/player-profiles/?all_positions=RP,CP and return the second and third examples. Essentially, I want to return all players that have ANY of the positions passed into the URL in their all_positions data. I've read about overlap, but not sure how I would integrate that into my django-rest filters. Here is what the filter currently looks like: class PlayerProfileFilter(django_filters.FilterSet): all_positions = CharInFilter(field_name='all_positions', lookup_expr='contains') -
Can't understand how django_q works
I'm having problem understanding how to use django_q to send async tasks. My goal is to reset some values in all instances of one model once per day. How do I tell django_q to go through all instances of my model and reset it fields to 0? For some more context my model is UserProfile witch has fields like calores_eaten, water_drinked, sugar_eaten etc witch stores each user daily intake of these elements. My tasks.py looks like this: from datetime import timedelta from django.utils import timezone from django_q.tasks import async_task, schedule from django_q.models import Schedule from .models import UserProfile def reset_daily_intakes(UserProfile): async_task() schedule(next_run=timezone.now() + timedelta(days=1)) But that's where Im stuck, I don't understand how to define async_task() and how to tell this function to go through all instances of UserProfile -
Docker/ Django/ Postgres - could not translate host name "db" to address: Name or service not known
Few days ago I asked a question about a Postgres error. I followed your suggestions and they helped a bit but in addition to not solving my problem some new problems arose. I have a django-postgres app which works locally with no problems. When I try to build a docker image it builds but when I try to set up the container I have the following error: django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known I'll show you my Dockerfile: # Origin image FROM python:3.8 RUN apt-get update # Define directory RUN mkdir /project WORKDIR /project # Install requirements RUN apt-get install -y vim RUN python -m pip install --upgrade pip COPY requirements.txt /project/ RUN pip install -r requirements.txt COPY . /project/ # Expose some ports EXPOSE 22 5432 8080 8009 8000 # default command CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] And here is my docker-compose file: version: "3.3" services: db: image: postgres volumes: - ./data/db:/var/lib/postgresql/data ports: - "5432:5432" environment: - POSTGRES_NAME=plataforma - POSTGRES_USER=admin - POSTGRES_PASSWORD=administrador web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" environment: - POSTGRES_NAME=plataforma - POSTGRES_USER=admin - POSTGRES_PASSWORD=administrador depends_on: - db env_file: - ./plataforma/.env On settings.py … -
Djano heroku deployment issue: django
First time here on stackowerflow, hoping somebody will be able to help me :) I have tried several ways to deploy site, following several tutorials and had solved most of errors I got except one: After pushing django project via git to heroku, I have error with app crashing (https://vocnjak.herokuapp.com/). Logs give error H10 and in logs: from django.core.wsgi import get_wsgi_application, ModuleNotFoundError: No module named 'django' Here are logs: Logs Also when I run heroku run python manage.py migrate I get: ImportError: Couldn&apos;t import Django. Are you sure it&apos;s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? I have installed Django and all dependencies in virtual environment, and Django site is working when run locally (as python manage.py runserver) and that is bugging me. Procfile: web: gunicorn vocnjak.wsgi --log-file - requierments.txt (with everything installed): asgiref==3.5.0 backports.zoneinfo==0.2.1 dj-database-url==0.5.0 Django==4.0.1 django-crispy-forms==1.14.0 django-heroku==0.3.1 gunicorn==20.1.0 psycopg2==2.9.3 psycopg2-binary==2.9.3 pytz==2021.3 sqlparse==0.4.2 whitenoise==5.3.0 Thanks! -
Object (1) occurs when adding new details in admin panel
When i add new data, it will come up with object (1). If i go in the table with the many to one relation, it will not show the ID and instead show the "object (1). I have tried changing the field sets however this does not work. When i go to make a "UserAdmin" it will treat it like it a user being added. Admin.py from lib2to3.pgen2.token import OP from statistics import mode from attr import field from .forms import createUserForm from django.contrib import admin from django.contrib.auth.admin import UserAdmin from .models import Account, sni, Question, Option class AccountAdmin(UserAdmin): list_display = ('userID', 'is_staff', 'is_admin') search_fields = ['userID'] readonly_fields = () add_fieldsets = ( (None, { 'classes': ('wide',), 'fields': ('userID','name','password1','password2','dateOfBirth','homeAddress', 'is_staff', 'is_admin', 'sni'), }), ) filter_horizontal = () list_filter = () fieldsets = () ordering = ('userID',) admin.site.register(Account, AccountAdmin) admin.site.register(sni) admin.site.register(Question) admin.site.register(Option) Model.py from asyncio import FastChildWatcher import email from pyexpat import model from xxlimited import Null from django.db import models from django.contrib.auth.models import AbstractBaseUser, BaseUserManager class userCouncil(BaseUserManager): def create_user(self, userID, password=None): if not email: raise ValueError("Email is required") user = self.model(userID = self.normalize_email(userID)) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, userID, password): user = self.model(userID = self.normalize_email(userID)) user.set_password(password) user.is_staff = True … -
Django multiple password forms
I'm trying to clone linkr.ee just for learning A page looks like this: -Each user User has a page -On this page one user can have multiple links -A link can have a password field to unlock the link if a user setted the password to True/False I created the model here: class Field(models.Model): user = models.ForeignKey( settings.AUTH_USER_MODEL, default=None, null=True, on_delete=models.CASCADE, ) title = models.CharField(max_length=255) url = models.CharField(max_length=255) creator_adress = models.GenericIPAddressField(null=True) password_secured = models.BooleanField(default=False) password = models.CharField(max_length=100, blank=True, null=True) So if password_secured is checked (True/False), the link will have the password field aswell. My Problem: I'm having issues with giving each link one the page the which is password secured a form. If one link has password_secured True (and password) -> Form needed for each link which has password -> if password correct (form valid) -> password_secured False -> link unlocked The Template: #here just a for loop to display every object of the specific user into the html template <a {% if i.password_secured == False %} href="{{i.url}}{% endif %}"></a> #for loop end Simple Template meaning: If password secured False -> put the href in the Link(Button) If password secured True -> Password form must be correct -> set secured … -
Can you configure Supervisor + multiple Daphne processes w/ ssl endpoints
I'm trying to configure the following setup: Django w/ channels Multiple Daphne processes as the ASGI server, with ssl endpoints Supervisor managing Daphne No other server (nginx, etc.) in front of Daphne Without using ssl, I can bind all the Daphne processes to a single file descriptor and Supervisor will expose this as single endpoint. This doesn't seem possible when using ssl endpoints unless I'm missing something. My supervisord.conf looks like this: [fcgi-program:daphne] command=/usr/local/bin/daphne -e ssl:port=8443:privateKey=/project/ssl/key.pem:certKey=/project/ssl/cert.pem -u /tmp/daphne%(process_num)d.sock --fd 0 myapp.asgi:application directory=/project/src numprocs=4 process_name=daphne%(process_num)d socket=tcp://0.0.0.0:8000 When I bring up the server, however, it only listens to the first process, and I get this error for each of the n-1 additional processes that are spawned: DEBG 'daphne1' stderr output: INFO HTTPFactory starting on 8000 INFO Starting factory <daphne.http_protocol.HTTPFactory object at 0xffffa448db40> INFO Listening on TCP address 0.0.0.0:8000 INFO Configuring endpoint ssl:port=8443:certKey=/project/ssl/cert.pem:privateKey=/project/ssl/key.pem CRITICAL Listen failure: Couldn't listen on any:8443: [Errno 98] Address already in use. INFO Configuring endpoint unix:/run/daphne1.sock INFO HTTPFactory starting on '/run/daphne1.sock' So basically, the processes start fine, but Daphne is itself grabbing the first tcp socket at 8443, and then nothing else can bind to it. Is there anyway around this without running Daphne w/o ssl and putting a … -
Django + Gunicorn + Nginx. Как закрыть 8000 порт для посетителей сайта
Gunicorn поднимает сервер на 0.0.0.0:8000. Сайт работает нормально, но есть возможность зайти на www.сайт:8000 (по 8000 порту). Я хочу убрать у посетителей эту возможность. Не пойму где искать решение проблемы? Настройки NGinx, iptables или firewalld? enter image description here CentOS7 -
Redis and channels with Windows
I'm trying to get a var to my consumers.py to send data to the client in real time as a function does API calls and returns that to the browser. I know channels needs Redis to function, but why? Why can we not just pass a list as it's built to the consumers class or any variable for that matter? From another answer: to store the necessary information required for different instances of consumers to communicate with one another. But what if I only will use one websocket connection, and only one user is allowed to be logged in at a time? This will be locally hosted only and the function is outside of consumers.py that returns the data so subscribing to groups may be where I need these. Am I missing something or is redis / memurai a must here? I just can't help but to feel there's an easier way.