cant import django model into celery task

2024/9/25 13:15:36

i have the following task:

from __future__ import absolute_importfrom myproject.celery import appfrom myapp.models import Entity@app.task
def add(entity_id):entity = Entity.objects.get(pk=entity_id)return entity.name

I get the following error:

django.core.exceptions.ImproperlyConfigured: Requested settingDEFAULT_INDEX_TABLESPACE, but settings are not configured. You musteither define the environment variable DJANGO_SETTINGS_MODULE or callsettings.configure() before accessing settings.

If I take out the entity import every thing is fine and no error occurs. When add back :

from myapp.models import Entity

the error returns.

from __future__ import unicode_literals
from django.contrib.auth.models import User
from django.db import models
from django.core.mail import EmailMultiAlternatives
from django.template import Context, loader
from django.utils.html import strip_tagsclass Entity(models.Model):area = models.ForeignKey(Area)name = models.CharField(max_length=255)type = models.CharField(max_length=255)status = models.IntegerField(choices=STATUS_TYPES, default=0)created_at = models.DateTimeField(auto_now_add = True)updated_at = models.DateTimeField(auto_now = True)def __unicode__(self):return self.name

How do I import a django model into a celery task?

Answer

My celery file needed to have:

from __future__ import absolute_importimport osfrom celery import Celery# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')from django.conf import settings  # noqa

Thanks for helping me get to that conclusion @mtndesign

https://en.xdnf.cn/q/71573.html

Related Q&A

Running unit tests with Nose inside a Python environment such as Autodesk Maya?

Id like to start creating unit tests for my Maya scripts. These scripts must be run inside the Maya environment and rely on the maya.cmds module namespace.How can I run Nose tests from inside a runnin…

Python Newline \n not working in jupyter notebooks

Im trying to display the tuples of a postgreSQL table neatly in my Jupyter Notebook, but the newline \n escape character doesnt seem to work here (it works for my python scripts w/ same code outside of…

Dynamically calling functions - Python

I have a list of functions... e.g.def filter_bunnies(pets): ...def filter_turtles(pets): ...def filter_narwhals(pets): ...Is there a way to call these functions by using a string representing their nam…

py2exe windows service problem

I have successfully converted my python project to a service. When using the usual options of install and start/stop, everything works correctly. However, I wish to compile the project using py2exe, …

Draw a cumulative chart from a pandas dataframe?

I have a dataframe as follows:df = pd.DataFrame({cost_saving: [10, 10, 20, 40, 60, 60],id: [a, b, c, d, e, f]})How can I draw a cumulative chart of the savings?Im thinking of a line chart with number …

Sort a complex Python dictionary by just one of its values

I am writing a little optimization tool for purchasing stamps at the post office.In the process I am using a dictionary, which I am sorting according to what I learned in this other "famous" …

How to modularize a Python application

Ive got a number of scripts that use common definitions. How do I split them in multiple files? Furthermore, the application can not be installed in any way in my scenario; it must be possible to have…

Solving for quartile and decile using Python

Is there a library for Python 2.7 that can solve quartiles and deciles. It seems that numpy doesnt have any functions for it. Can you give me a link if there are any. Thanks in advance! :D

Predicted values of each fold in K-Fold Cross Validation in sklearn

I have performed 10-fold cross validation on a dataset that I have using python sklearn, result = cross_val_score(best_svr, X, y, cv=10, scoring=r2) print(result.mean())I have been able to get the mean…

What does the comma mean in Pythons unpack?

We can simply use: crc = struct.unpack(>i, data)why do people write it like this: (crc,) = struct.unpack(>i, data)What does the comma mean?