2016-04-20 10 views
4

ich habe die folgende Aufgabe importieren:kann nicht django Modell in Sellerie Aufgabe

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 

ich die folgende Fehlermeldung erhalten:

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.

Wenn ich alles, was ist das Unternehmen Import nehmen fein und Es ist kein Fehler aufgetreten. Wenn zurück:

wird der Fehler zurückgegeben.

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 

Wie importiere ich ein django Modell in eine Sellerie Aufgabe?

+0

Können Sie Entity-Modell vorschlagen? Wahrscheinlich versuchen Sie, Einstellungen aus dieser Datei zu importieren und versuchen, auf die Datenbank zuzugreifen. Oder etwas Abhängiges. Schwer zu sagen von der Information, die du gabst. – mtndesign

+0

@ mtndesign Ich habe das Entity-Modell hinzugefügt. Wenn ich eine Einstellung oder einen Benutzer importiere, was müsste ich tun? – Atma

+0

Nun, ich meinte nicht das Modell selbst, ich meinte die Modelldatei, um die importierten Bibliotheken zu sehen. Wie auch immer, wenn Sie das Einstellungsmodul importieren, müssen Sie sicherstellen, dass es verfügbar und zugänglich ist über den Pfad, auf dem sich das Entity-Modell befindet. Der Fehler behauptet, dass Sie Ihre App nicht richtig konfiguriert haben, so dass django nicht funktioniert. Ich weiß, wo die wesentlichen Dateien sind. Zur Konfiguration können Sie folgendes verwenden: 'from django.conf import settings' und' settings.configure() '. – mtndesign

Antwort

5

Meine Sellerie-Datei benötigt, um:

from __future__ import absolute_import 

import os 

from 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 

Dank für die Hilfe zu diesem Schluss @mtndesign

erhalten
Verwandte Themen