Djongo
제품 정보
오픈소스 사용 사례
공개 채팅
지원 계획
현재 사용할 수 있는 OSS 플랜이 없습니다.
저장소의 제공자 또는 기여자인 경우 OSS 플랜 추가를 시작할 수 있습니다.
OSS 플랜 추가이 오픈소스에 대한 플랜을 찾고 있다면 저희에게 문의해 주세요.
전문 공급자와 연락하실 수 있도록 도와드리겠습니다.
제품 세부 정보
djongo
The only connector that lets you use Django with MongoDB without changing the Django ORM
Use MongoDB as a backend database for your Django project, without changing the Django ORM. Use the Django Admin GUI to add and modify documents in MongoDB.
Usage:
- Install djongo: ``` pip install djongo ```
- Into settings.py file of your project, add: ```python DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'your-db-name', 'CLIENT': { 'host': 'your-db-host', } } } ```
- Run
manage.py makemigrations <app_name>
followed bymanage.py migrate
(ONLY the first time to create collections in mongoDB) - YOUR ARE SET! HAVE FUN!
Requirements:
- Python 3.6 or higher.
- MongoDB 3.4 or higher.
-
If your models use nested queries or sub querysets like:
inner_qs = Blog.objects.filter(name__contains='Ch').values('name') entries = Entry.objects.filter(blog__name__in=inner_qs)
MongoDB 3.6 or higher is required.
How it works
djongo is a SQL to mongodb query compiler. It translates a SQL query string into a mongoDB query document. As a result, all Django features, models etc. work as is.
Django contrib modules:
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
and others... fully supported.
Features
- Use Django Admin GUI to access MongoDB.
- Embedded Model.
- Embedded Array.
-
Embedded Form Fields.
Read the full documentation
Contribute
If you think djongo is useful, please share it with the world!
You can contribute to the source code or the documentation by creating a simple pull request! You may want to refer to the design documentation to get an idea on how Django MongoDB connector is implemented.
Add a star, show some love :)
Questions and Discussion
- Djongo groups is where you can watch for new release announcements, suggest improvements, and discuss topics pertaining to Django and MongoDB.
- Issues, where things are not working as expected, please raise a git-hub issue ticket.
- For questions and clarifications regarding usage, please put it up on stackoverflow instead.