Използване на django ORM от не django python скрипт

Ето сценария. Имам проект Django и проект за скрипт на python в директория. Скриптът на Python трябва да работи независимо в планирано време и също така трябва да има достъп до базата данни, използвана от Django.

Възможно ли е да се използва/импортира съществуващ Django код в python скрипт за достъп до db. Ако да как?

Идеята идва за C# приложение, където моделите и слоят за достъп до данни могат да бъдат изградени като библиотека и да се използват в много проекти.


person Pavan Kumar    schedule 06.12.2018    source източник


Отговори (3)


Да, можете да използвате само ORM частта на Django, без да използвате уеб частите.

Директорията за вашето Django приложение ще трябва да бъде във вашия PYTHONPATH, ще трябва изрично да зададете os.environ["DJANGO_SETTINGS_MODULE"] и ще трябва да импортирате моделите, които искате да използвате. Оттам можете да създавате и актуализирате модели както обикновено:

from myapp.models import Customer, Order
c = Customer.objects.create(name='John Smith')
orders = Order.objects.filter(customer__name='Mary Brown')
person John Gordon    schedule 06.12.2018

Сблъсках се със същия проблем и най-накрая реших да внедря демон в персонализирана команда django. Можете да импортирате всичко, свързано с django, точно както обикновено правите в кода на django, докато внедрявате свой собствен код.

person dyezepchik    schedule 20.01.2020

Можете да използвате Django Rest Framework

Това е Django пакет, който можете да използвате, за да направите JSON API за други приложения, които да комуникират с вашия уебсайт.

person Amine Messaoudi    schedule 06.12.2018