j'ai la tâche suivante:ne peut pas importer le modèle de django dans la tâche de céleri
from __future__ import absolute_import
from myproject.celery import app
from myapp.models import Entity
@app.task
def add(entity_id):
entity = Entity.objects.get(pk=entity_id)
return entity.name
Je reçois l'erreur suivante:
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Si je prends l'importation tout entité est très bien et aucune erreur ne se produit. Lors de la recopie:
from myapp.models import Entity
l'erreur renvoie.
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_tags
class 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
Comment importer un modèle django dans une tâche de céleri?
Pouvez-vous poster modèle d'entité? Vous essayez probablement d'importer les paramètres de ce fichier et essayez d'accéder à la base de données. Ou une certaine dépend. Difficile de dire à partir de l'information que vous avez donnée. – mtndesign
@mtndesign J'ai ajouté le modèle d'entité. Si j'importais un paramètre ou un utilisateur, que devrais-je faire? – Atma
Eh bien, je ne voulais pas dire le modèle lui-même, je voulais dire le fichier modèle, pour voir les bibliothèques importées. De toute façon, si vous importiez le module de paramètres, vous devez vous assurer qu'il est disponible et accessible depuis le chemin dans lequel se trouve le modèle 'Entity'. L'erreur indique que vous n'avez pas configuré votre application correctement, de manière que django ne le fasse pas Je ne sais pas où sont les fichiers essentiels. Pour configurer vous pouvez utiliser ceci: 'depuis les paramètres d'importation de django.conf' puis' settings.configure() '. – mtndesign