Как я могу управлять моделью Django-ORM в одиночку? - PullRequest
0 голосов
/ 14 марта 2019

Моя структура каталогов, как:

├─bin
├─conf
│  └─django_settings.py
├─docs
├─log
└─src
   └─main.py
   └─models.py

В моем main.py я хочу использовать django-orm для чтения данных из моей таблицы MySQL campaign_plan, но когда я попытался запустить main.py, я получаю эту ошибку:

django.core.exceptions.AppRegistryNotReady: приложения еще не загружены.

Как я могу успешно получить нужные данные?

models.py

from django.db import models

class CampaignPlan(models.Model):
    campaign_id = models.CharField(max_length=64, blank=True, null=True)
    rule_id = models.IntegerField(blank=True, null=True)
    status = models.IntegerField(blank=True, null=True)
    account_id = models.CharField(max_length=64, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'campaign_plan'
        unique_together = (('campaign_id', 'rule_id', 'status'),)

main.py

import sys, os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(os.path.join(BASE_DIR,'conf'))
sys.path.append(os.path.join(BASE_DIR, "src"))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_settings")

from models import CampaignPlan


class AutoManagementService(object):

    def __init__(self, campaign_plan):
        self.campaign_plan = campaign_plan

    def run(self):
        pass

campaign_plans = CampaignPlan.objects.all()

1 Ответ

2 голосов
/ 14 марта 2019

Вам нужно настроить Django:

import django

django.setup()
...