Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Deploy Django application on Websphere application Server
I am trying to figure out if Django applications can be deployed to Websphere Application Server. I could not find any relevant results on google, i am not sure ifthat is even possible. Has anyone done this or know a method how to do this. I am very much confused now. -
How Celery executes tasks
In my project I have a Celery task that is sent by the Celery beat to the worker every 30 seconds.I am interested in knowing how celery executes the celery tasks? Whether it spawns a new thread for each task or a new worker for the task.How can we know if a task completes and is removed from the message broker queue for which I am using RabbitMQ. -
Django global name 'request' is not defined
I need in my function user current user Object. When I'm writting for example user = request.user I'm getting: global name 'request' is not defined What Am I doing wrong? -
django cannot assign "": must be a "" instance
I have an ecommerce application which I exteded the user account to serve the Order input and everything seems fine till I submitted an order which gave me the error in my browser Cannot assign "<Account: Account for Chris>": "OrderItem.order" must be a "Order" instance. below is my code Model class Order(BaseOrderInfo): # each individual status SUBMITTED = 1 PROCESSED = 2 SHIPPED = 3 CANCELLED = 4 user = models.ForeignKey(Account, related_name='user_account') created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) paid = models.BooleanField(default=False) coupon = models.ForeignKey(Coupon, related_name='orders',null=True,blank=True) discount = models.IntegerField(default=0,validators=[MinValueValidator(0), MaxValueValidator(100)]) ORDER_STATUSES = ((SUBMITTED,'Submitted'), (PROCESSED,'Processed'),(SHIPPED,'Shipped'), (CANCELLED,'Cancelled'),) status = models.IntegerField(choices=ORDER_STATUSES, default=SUBMITTED) ip_address = models.GenericIPAddressField() transaction_id = models.CharField(max_length=20) class OrderItem(models.Model): order = models.ForeignKey(Order, related_name='items') product = models.ForeignKey(Product,related_name='order_items') price = models.DecimalField(max_digits=10, decimal_places=2) quantity = models.PositiveIntegerField(default=1) account Models.py class BaseOrderInfo(models.Model): class Meta: abstract = True phone = models.CharField(max_length=20) address = models.CharField(max_length=50) city = models.CharField(max_length=250) state = models.CharField(max_length=50) postal_code = models.CharField(max_length=10) class Account(BaseOrderInfo): user = models.OneToOneField(settings.AUTH_USER_MODEL, related_name='account') and my view is def order_create(request): cart = Cart(request) account = load_account(request.user) if request.method == 'POST': form = AccountEditForm(instance = account, data = request.POST) if form.is_valid(): order = form.save() for item in cart: OrderItem.objects.create(order=order, product=item['product'],price=item['price'], quantity=item['quantity']) cart.clear() return render(request,'order/created.html', {'order': order}) else: form = AccountEditForm(instance = account) return render(request, 'order/create.html',{'cart': … -
Django can't click the button
this is jquery {% block custom_js %} <script> $(function() { $('#jsStayBtn').on('click',function(){ $.ajax({ cache: false, type: 'POST', url: {% url 'org:add_ask' %}, data: $('#jsStayForm').serialize(), async:true, success: function(data) { console.log(data) alert(data) if(data.status == 'success') { $('#jsStayForm')[0].reset(); alert('successful') } else if(data.status == 'fail') { $('#jsCompanyTips').html(data.msg) } }, }) }); }); </script> {% endblock %} this is submit html <div class="right companyright"> <div class="head">Studing</div> <form class="rightform" id="jsStayForm"> <div> <img src="{% static 'images/rightform1.png' %}"/> <input type="text" name="name" id="companyName" placeholder="name" maxlength="25" /> </div> <div> <img src="{% static 'images/rightform2.png' %}"/> <input type="text" name="mobile" id="companyMobile" placeholder="mobile"/> </div> <div> <img src="{% static 'images/rightform3.png' %}"/> <input type="text" name="course_name" id="companyAddress" placeholder="course_name" maxlength="50" /> </div> <p class="error company-tips" id="jsCompanyTips"></p> <input class="btn" type="text" id="jsStayBtn" value="consult >" /> {% csrf_token %} </form> </div> this is urls urlpatterns = [ # 课程机构列表页 url('^list/$', OrgView.as_view(), name="org_list"), url('^add_ask/$',AddUserAskView.as_view(), name='add_ask'), ] There is an input box on the page, which is ajax and is implemented through jquery.But when I'm done, I don't have any reaction to the click of the button, I don't know what went wrong.This should be a POST request,How should I modify the normal submission? -
Consume messages from django
Is it possible to consume messages from rabbitmq using celery in django? Messages are being sent from a different non-django app import os from celery import Celery from django.conf import settings os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings') app = Celery("test") app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) app.conf.task_routes = { 'task.send_emails':{ 'queue': 'sendmail', 'exchange': 'sendmail', 'routing_key': 'sendmail' } } app.config_from_object('django.conf:settings') -
Django Query - Multiple Inner Joins
we currently have some issues with building complex Q-object queries with multiple inner joins with django. The model we want to get (called 'main' in the example) is referenced by another model with a foreign key. The back-reference is called 'related' in the example below. There are many objects of the second model that all refer to the same 'main' object all having ids and values. We want to get all 'main' objects for wich a related object with id 7113 exists that has the value 1 AND a related object with id 7114 that has the value 0 exists. This is our current query: (Q(related__id=u'7313') & Q(related__value=1)) & (Q(related__id=u'7314') & Q(related__value=0)) This code evaluates to FROM `prefix_main` INNER JOIN `prefix_related` [...] WHERE (`prefix_related`.`id` = 7313 AND `prefix_related`.`value` = 1 AND `prefix_related`.`id` = 7314 AND `prefix_related`.`value` = 0) What we would need is quite different: FROM `prefix_main` INNER JOIN `prefix_related` a INNER JOIN `prefix_related` b [...] WHERE (a.`id` = 7313 AND a.`value` = 1 AND b.`id` = 7314 AND b.`value` = 0) How can I rewrite the ORM query to use two INNER JOINS / use different related instances for the q-objects? Thanks in advance. -
Database design for a shop/warehouses chains (and inventory)
I'm developing a web application (in Django) for managing a group of shoes shops (and linked warehouses). In the database I have a table of Shoes (a row for every kind), then a table of Instances (that is; a foreign key to a model of shoes, size and colours). Now, I also have a table for shops and warehouse, but now I have to design how to represent the state of the inventory for every shop\warehouse (how many items for every place). Which is the best design I should adopt? In a OO world, every Place (Shop or Warehouse) object would have a data structure or something for managing the quantity for every item, but I don't think this is a good way for a database. -
How to have django-oscar alongside other apps?
I am trying to add a django-oscar shop to an existing django website. My problem is that the templates of the two are somehow clashing, such that I can either see the existing website, or the shop, but not both. Here is the overarching urls.py: from django.conf.urls import include, url from django.contrib import admin from oscar.app import application urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^', include('main.urls')), # oscar url(r'^shop/', include(application.urls)), ] And in the settings: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ # os.path.join(BASE_DIR, 'templates'), OSCAR_MAIN_TEMPLATE_DIR ], # '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', 'oscar.apps.search.context_processors.search_form', 'oscar.apps.promotions.context_processors.promotions', 'oscar.apps.checkout.context_processors.checkout', 'oscar.apps.customer.notifications.context_processors.notifications', 'oscar.core.context_processors.metadata', 'main.context_processors.google_analytics' ], 'loaders': [ 'django.template.loaders.app_directories.Loader', 'django.template.loaders.filesystem.Loader', ], }, }, ] If I switch the order of the loaders, either the original website (in app 'main'), or the Oscar shop, can no longer be accessed/viewed. So I'm not sure what esoteric detail I'm overlooking, and the docs don't cover this. Cheers. -
Django filter DateTimeField by TimeField value
I have a Timeslot model with start and end fields of type DateTimeField. Another class Constraint also has start and end fields but of type TimeField. I can filter Constraint objects by the start and end values of a given timeslot: Constraint.objects.filter(start=timeslot.start) But now I am in need of filtering Timeslot based on the value of a given constraint. The scenario is having multiple timeslots that define different datetime ranges throughout a time domain, and I want to select those outside a given time range specified by an existing constraint: Timeslot.object.filter(Q(end__lte=constraint.start) | Q(start__gte=constranit.end)) For example, let's say I have timeslots going through October 23rd to October 29th, each day starting at 10am and ending at 1pm. The duration would be of 1 hour, so each day would have 3 timeslots, which totals in 21 timeslots. 23 Oct, 10am-1pm (3 timeslots) 24 Oct, 10am-1pm (3 timeslots) 25 Oct, 10am-1pm (3 timeslots) 26 Oct, 10am-1pm (3 timeslots) 27 Oct, 10am-1pm (3 timeslots) 28 Oct, 10am-1pm (3 timeslots) 29 Oct, 10am-1pm (3 timeslots) And a constraint that defines the range 11am-12pm. I would like to select the timeslots outside that range. The result would be the timeslots between 10am and 11am, and those … -
Issue with DataTable.ajax.reload and stored procedure
Hi I have trouble using Datatable.reload.ajax with my stored procedure. View (index): def index(request): listOPT = [] Data = [] Req = TbMouvementinit.objects.exclude(dateheureclot=u'') data = getDataQuery(Req) django = json.dumps(data) cursor = connections['site'].cursor() try: cursor.execute("{CALL SP_webGET_RESUME_MVT_INIT_ACTIF}") Req = dictfetchall(cursor) sql = json.dumps(Req) finally: cursor.close() fluxState = settings.FLUX_MANAGER_STATE if fluxState != True: listOPT.append('FLUX AXEREAL : OFF') else: listOPT.append('NULL') cursor = connections['site'].cursor() try: cursor.execute("{CALL SP_webGET_RESUME_MVT_INIT_ACTIF}") mouvements = dictfetchall(cursor) finally: cursor.close() return render(request, 'index.html', locals()) View (listMVTInit) : def listMVTinit(request): #Req = TbMouvementinit.objects.exclude(dateheureclot=u'') #data = getDataQuery(Req) #return HttpResponse(json.dumps(data), content_type = "application/json") cursor = connections['site'].cursor() try: cursor.execute("{CALL SP_webGET_RESUME_MVT_INIT_ACTIF}") Req = dictfetchall(cursor) finally: cursor.close() return HttpResponse(json.dumps(Req), content_type = "application/json") Template : {% load static %} <!doctype html> <html> <head> <meta charset="utf-8"> <title>Liste Mouvement initiaux</title> <meta name="generator" content="WYSIWYG Web Builder 12 - http://www.wysiwygwebbuilder.com"> <link href="../static\css/Gestion_Mouvements.css" rel="stylesheet"> <link href="../static\css/index.css" rel="stylesheet"> <link href="{% static 'css/jquery-ui.min.css' %}" media="all" rel="stylesheet"> <link href="{% static 'css/jquery.dataTables.min.css' %}" media="all" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css" rel="stylesheet' %}" media="all"> <link href="{% static 'css//bootstrap-datetimepicker.min.css' %}" media="all" rel="stylesheet"> <script src="{% static 'js/jquery-1.12.4.min.js' %}"></script> <script src="{% static 'js/jquery.dataTables.min.js' %}"></script> <script src="{% static 'js/jquery-ui.min.js' %}"></script> <script> $(document).ready(function() { table = $('#indexTab').DataTable({ ajax: "{% url 'listMVTinit' %}", }); }); setInterval(function(){table.ajax.reload();}, 2000); </script> </head> <body> <div id="wb_Shape1" style="position:absolute;left:4px;top:5px;width:1300px;height:100px;z-index:0;"> <img src="../static\images/img0001.png" id="Shape1" alt="" … -
Xml request django use zeep library
Sorry for my english. Before i didnt work whith xml and for me it something new. I have soap api, and i need get some data frome this xml api. Now i try create test request and print something. I user zeep library for my project. I write python -mzeep 'my link' and i have some instruction. Example: ns0:AccountInfo(number: xsd:string, secret: xsd:string, country: xsd:string, language: xsd:string, behalfOf: xsd:string) getVersionInfo(accountInfo: ns0:AccountInfo) -> responseStatus: ns0:ResponseStatus, data: {country: xsd:string, build: xsd:string, date: xsd:dateTime, licensed: xsd:boolean}[] Then i write code in pythone: class Test(View): def get(self, request, *args, **kwargs): client = Client("link") account = client.get_type("ns0:AccountInfo") account_info = account(number="111111", secret="123123123123", country="ua", language="en") response = client.service.getVersionInfo(accountInfo=account_info) print(response) return HttpResponse('Hello, World!') But i have error: Exception Value: A request was found for which no data versions could be retrieved. -
How to write this query in django queryset? Find all topic_name for gaurd name = Algebra?
Defined Models Are... Gaurd(name, category) Chapter(Gaurd, Chapter, rates) and Topic(chapter, topic_name, level) These three are connected via foreign key with each other. -
django-filter and DRF: AND clause in a lookupfield
This question expands on this one. Suppose my models are class Car(models.Model): images = models.ManyToManyField(Image) class Image(models.Model): path = models.CharField() type = models.CharField() and my filter class is class CarFilter(django_filters.FilterSet): having_image = django_filters.Filter(name="images", lookup_type='in') class Meta: model = Car then I can make queries like ?having_image=5 and get all cars that have an image with pk=5. That's fine. But what if I need to return both cars with this image AND also cars with no images at all, in one list? How do I unite two conditions in one django_filters.Filter? -
Django migration from dynamic fields
i' ve the following django model: class Apple(models.Model): text = models.TextField() . I' ve already many records, and i' d like to add a subject field to the model, so it' ll look like: class Apple(models.Model): text = models.TextField() subject = models.CharField(max_length = 128) . In this case i run a makemigrations, but since subject can be empty, i need to set a default value either in the model, or in the migration file. What would be the correct procedure if i' d like to take the subject from the text for the already existing database lines (for instance: text[:64])? My solution would be to create a migration with a default value, run a management commend to update the values, and with a new migration remove the default value for the subject. Is there a better solution, right? What is it? Can i somehow combine / do this in the migration itself? Python: 3.4.5 Django: 1.9.2 . -
Django: Paginating Aggregated query
Imagine I have simple database model like in the django tutorial: class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') Source: https://docs.djangoproject.com/en/1.11/intro/tutorial02/#creating-models I want a result that looks like this Month | Number of Question of this Month 2017-01 | 201 2017-02 | 345 ... | ... How to create the matching QuerySet and how to paginate it? -
Django: Ordering Users in Messaging App
Here's my model, class Message(models.Model): sender = models.ForeignKey(User, related_name="sender") receiver = models.ForeignKey(User, related_name="receiver") msg_content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) I wants to order the Users based upon who sent a message to "request.user" or to whom "request.user" sent a message most recently! As we see on social networks. How can I do that? -
Django - AttributeError: 'NoneType' object has no attribute 'method'
I noticed that when I use DRF documentation I get error AttributeError: 'NoneType' object has no attribute 'method' and this is associated with this line if self.request.method == 'POST' Any ideas how can I solve it? class UserObject(GenericAPIView): def get_serializer_class(self, *args, **kwargs): if self.request.method == 'POST': return ObjectPostSerializer return ObjectSerializer -
Django MQTT use shell not working
My problem is when I use python manage.py shell and I type my code line by line, then It will working fine(receive messages and print it). But when I use python manage.py shell < my.py It will not working( receive message and print it) Is any problem with threads? here is my script.py code: import os import django os.environ["DJANGO_SETTINGS_MODULE"] = 'myprojects.settings' django.setup() import paho.mqtt.client as paho_mqtt from mqtt.mqtt import on_connect, on_message username = "****" password = "****" client = paho_mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.username_pw_set(username=username, password=password) client.connect("********", 1883, 60) client.loop_forever() And here is my function code def on_connect(client, userdata, flags, rc): try: client.subscribe(topic="********") print('subcriptions') except Exception as e: print("connect subscribe error " + str(e)) def on_message(client, userdata, msg): data = msg.payload.decode('utf-8') res_json = json.loads(data) print(res_json) -
How to increase time to end UWSGI connection
Now each of my connections is closed after 60 seconds. I would like to increase this time to 300 seconds. To do this I changed my ini file : [uwsgi] # Django-related settings # the base directory (full path) chdir = /home/root/djangoApp # Django's wsgi file module=djangoApp.wsgi:application # process-related settings # master master = true # maximum number of worker processes processes = 10 # the socket (use the full path to be safe http = 127.0.0.1:8000 # ... with appropriate permissions - may be needed chmod-socket = 664 # clear environment on exit vacuum = true protocol = uwsgi harakiri = 300 http-timeout = 300 But it doesn't work, still the process is killed after 60 seconds. I will be very thankful for help, Thanks -
Django: Messaging App
Here's my model, class Message(models.Model): sender = models.ForeignKey(User, related_name="sender") receiver = models.ForeignKey(User, related_name="receiver") msg_content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) Here i'm trying to order the User based upon who sent a message to "request.user" or to whom "request.user" sent a message most recently! As we see on social networks. Here's what I tried, users = User.objects.filter(Q(sender__receiver=request.user) | Q(receiver__sender=request.user)).annotate(Max('receiver')).order_by('-receiver__max') This code is working fine only if request.user sent someone a message (it's shows the name of that user at top) but if someone sent request.user a message it's not showing their name at the top. How can I do that? -
Call stored procedure
I want to know how can I call a stored procedure from oracle using django. I must insert in multiple tables and I already have a procedure that does that. How should I call this proc? This is how I am trying now: c = connection.connection.cursor() c.callproc('PKG_SOMETHING.pr_insert',(i_param, o_param1, o_param2) ) c.close() return o_param1 + o_param2 -
DRF - Filter queryset in PrimaryKeyRelatedField
I've the following models: class ModelX(models.Model): STATUS_CHOICES = ( (0, 'ABC'), (1, 'DEF'), ) status = models.IntegerField(choices=STATUS_CHOICES) user = models.ForeignKey(Users) class Users(models.Model): phone_number = models.Charfield() and the serializer for ModelX is : class ModelXSerializer(serializers.ModelSerializer): phone_number = serializers.PrimaryKeyRelatedField( source='user', queryset=Users.objects.get(phone_number=phone_number)) class Meta: model = ModelX fields = ('phone_number',) In the request for creating the ModelX record, I get phone_number instead of the user_id. Now, I've to fire a filter query in order get the user instance. How do I do that, ie Users.objects.get(phone_number=phone_number) Also, when creating a record, the status field will always be 0. The client wont post the status parameter in the body. Its the internal logic. Is there a way in serializers that can set the status field to 0 automatically. Please dont recommend to set this field as default=0 in models. There's some logic behind this. This is just a shorter version of the problem statement. -
Random query is hitting PostgreSQL RDS instance
We have a django application hosted on AWS Elastic Beanstalk, which is using PostgreSQL RDS as a database. Since yesterday, we found that our RDS storage shows full-storage message. When we checked the logs are filling up and taking most of the space. The logs shows some random query is hitting the DB and causing error. 2017-10-30 06:59:59 UTC:172.31.0.218(48038):MyPostgreSQLDB@ebdb:[16817]:STATEMENT: INSERT INTO "auth_user" ("password", "last_login", "is_superuser", "username", "first_name", "last_name", "email", "is_staff", "is_active", "date_joined") VALUES ('pbkdf2_sha256$30000$L21goli52Bdt$CrFNDOGuwszHC3wkKvoVee1O8ey/V/NdMt9CaG53mCk=', NULL, false, 'dk12345678910111213141516171819202122232425', 'd', 'K', '', false, true, '2017-10-30T06:59:59.550627+00:00'::timestamptz) RETURNING "auth_user"."id" 2017-10-30 07:00:00 UTC:172.31.6.238(47206):MyPostgreSQLDB@ebdb:[22437]:ERROR: value too long for type character varying(150) 2017-10-30 07:00:00 UTC:172.31.6.238(47206):MyPostgreSQLDB@ebdb:[22437]:STATEMENT: INSERT INTO "auth_user" ("password", "last_login", "is_superuser", "username", "first_name", "last_name", "email", "is_staff", "is_active", "date_joined") VALUES ('pbkdf2_sha256$30000$rtHpPn996XzO$H2RS/H5RYHC12MxjnRIRK1St21VQS8/6Bd/Hnc3H0Jc=', NULL, false, 'deepak kumar k12345678910111213141516171819202122232425262728293031', 'Deepak Kumar ', 'k', '', false, true, '2017-10-30T06:59:58.751020+00:00'::timestamptz) RETURNING "auth_user"."id" 2017-10-30 07:00:00 UTC:172.31.26.180(52740):MyPostgreSQLDB@ebdb:[23882]:ERROR: value too long for type character varying(150) 2017-10-30 07:00:00 UTC:172.31.26.180(52740):MyPostgreSQLDB@ebdb:[23882]:STATEMENT: INSERT INTO "auth_user" ("password", "last_login", "is_superuser", "username", "first_name", "last_name", "email", "is_staff", "is_active", "date_joined") VALUES ('pbkdf2_sha256$30000$Ve4JkxutDfyC$lB9A+bzEvQSJYamlhXscU/cWfDHtMSHaMU45kKcyxsM=', NULL, false, 'ashokkumar1234567891011121314151617181920212223242526272829303132333435', 'ASHOK', 'Kumar', '', false, true, '2017-10-30T07:00:00.208427+00:00'::timestamptz) RETURNING "auth_user"."id" 2017-10-30 07:00:00 UTC:172.31.26.180(52938):MyPostgreSQLDB@ebdb:[26159]:ERROR: value too long for type character varying(150) We are not able to trace who is hitting this random query? How can we locate the culprit application or who is trying … -
Django Reset API not working on Docker
I am new to Docker, before docker I work on heroku, and these Django Rest APIs run perfectly on local server and heroku, but when i deploy these APIs on docker they sending me 400 Bad Request error, I don't know what the issue is, can somebody give me a hint what went wrong on docker.