2014-12-16 9 views
0

저는 Django 초보자이며 기본 데이터베이스로 MySQL을 사용하는 1 개의 응용 프로그램을 개발했습니다. 그러나 다음 프로젝트에서는 https://github.com/cqlengine/cqlengine을 사용하여 Cassandra db를 사용해야합니다. https://github.com/r4fek/django-cassandra-engine을 사용하지 마십시오 (cqlengine보다 래퍼입니까?).django에서 django-cassandra-engine을 사용하지 않고 django에 Cassandra DB를 설치하십시오.

실마리가 없습니다. 어떻게 시작합니까? 나는 어떻게 그리고 어디에서 db connection을 생성하고 models.py 파일에 모델을 생성해야 하는가?

.py 파일에 연결을 생성해야하나요? views.py? 가장 효율적인 방법은 무엇입니까?

누군가가 간단한 구성과 모델을 제공하는 경우 (향후 독자에게도) 좋을 것입니다.

답변

3

twissandra 데모는 Cassandra와 Django를 사용하여 앱을 만드는 방법의 좋은 예입니다.

이 구현에서는 models.py이없고 연결은 cass.py 파일에서 유지 관리됩니다.

또한 cass.py는 C * 데이터베이스에서 데이터를 반환하는 데 필요한 모든 기능을 호스트하고 시스템에서 사용되는 객체를 만듭니다. 이것은 CqlEngine 코드로 API 요청을 바꿀 수있는 곳입니다.

나는 이러한 자원은 당신이 올바른 방향으로

+0

감사합니다. 하지만 난 cqlengine 소스 및 models.py를 사용하여 찾고 있어요. 예 : 'from cqlengine import connection'' connection.setup ([ '127.0.0.1:9160'])' 당신은 그 소스를 제공해 줄 수 있습니까? – xyz

+0

Twissandra는 오랫동안 잊어 버린 프로젝트였습니다. 적절한 CQLEngine 응답에 대한 내 대답을 살펴볼 수 있습니다. 좋은 예제 프로젝트는 다음과 같습니다. [CylEngine의 제작자 인 rustyrazorblade의 육식 로봇] (https://github.com/rustyrazorblade/meatbot/) – mbeacom

0

Rustyrazorblade 그의 CQLEngine 튜토리얼 지점 HERE을 통해 이러한 목표를 달성하는 쉬운 방법을 보여줍니다으로 지적 얻을 수 있기를 바랍니다.

할 수 있습니다 쉽게 설치 your_app_project/모델/connection.py에서이 같은 수행하여 연결 :이 예에서는

from cqlengine import management 
from cqlengine.connection import setup 

def connect(): 
    setup(["127.0.0.1", "127.0.1.1", "127.0.1.2"], "tutorial", retry_connect=True) 
    management.create_keyspace("tutorial", replication_factor=1, strategy_class="SimpleStrategy") 

을 "튜토리얼"는 키 스페이스 우리가 사용하는, strategy_class입니다 012 * C * 인스턴스가 사용하는 복제 전략 replication_factor링 전체에 저장 될 복제의 양입니다., 127.0.0.1은 카산드라 클러스터 노드 IP입니다. 주소 (이 목록 또는 문자열을 전달할 수 있음) retry_connect은 연결 실패시 재 연결을 시도할지 여부를 지정합니다.

여기에서 새로운 C * 사용자는 혼란에 빠지기 쉽습니다. C * 테이블을 동기화하거나 C * 쿼리를 사용하기 전에 언제든지 호출 할 수 있습니다. 그냥 그렇게 오래 CQLEngine 설정()가 제대로 실행될 때, 당신은 심지어 manage.py에이를 놓을 수

from cqlengine.management import sync_table 
from models.connection import connect 
from models.somemodels import MyCassandraModel 

# This will fire off our previously setup 'connect' method 
connect() 
# This will setup the Model as a table in your C* DB 
sync_table(MyCassandraModel) 

:

그래서, 당신은 그런 짓을 할 수 있습니다.