여러분들은 데이터베이스 마이그레이션은 어떻게 하시나요? 이미 생성된 테이블의 스키마가 변경

 
Chinseok Lee

여러분들은 데이터베이스 마이그레이션은 어떻게 하시나요? 이미 생성된 테이블의 스키마가 변경되면, 전 그냥 수동으로 SQL문을 써서 변경합니다.

  • Taeho Kim

    South를 씁니다. http://south.aeracode.org/ 개인적으로는 장고 코어에 들어가면 좋겠는데요…

    Kyoungchan Lee

    오 South 좋군요 ㅎㅎ 저도 수동으로 SQL문 써서 변경했었는데 South를 써봐야 겠군요~

    김승호

    저도 south…

Django로 개발한 사이트입니다. MoinMoin기반의 회사 홈페이지와 Facebook

 
강병철

Django로 개발한 사이트입니다. MoinMoin기반의 회사 홈페이지와 Facebook을 연결하고 컨텐츠를 요약해서 제공하고 있습니다. 관리자 기능 대부분을 Django Admin으로 해결할 수 있어서, 빠듯한 시간에 마무리할 수 있었습니다.

[질문] template 파일에서, 한 모델(modelA)과 1대1로 연관된 모델(mode

 
김승호

[질문] template 파일에서, 한 모델(modelA)과 1대1로 연관된 모델(modelB)의 정보가 필요할 땐 어떻게 해야 하나요? 뷰에서 modelB를 넘기지 않고는 방법이 없나요?
modelA의 정보는 그냥 {{ modelA.variable }}이라고 하면 되는데, {{ modelA.modelB_set.variable }}은 안 되니까…

  • Hyungyong Kim

    modelA 에서 abc = models.OneToOneField(modelB) 라고 정의되어 있다면 바로 modelA.abc 하면 modelB 객체입니다.

    김승호

    형용 님/ 아, 그렇군요! 맨날 ForeignField만 썼더니… ㅎㅎ 감사합니다!

    김승호

    하나만 더 여쭤보겠습니다~ modelA에서 OneToOneField로 modelB를 연결했을 때, modelA와 연결된 modelB가 존재하는지 알 수 있는 방법이 있나요?
    예전에 ForeignKey로 연결했을 때는 modelA.modelB_set.exists() 함수를 사용했습니다.

    Hyungyong Kim

    bool(modelA.abc) 로 바로 알 수 있을 텐데요. 만일 검색쿼리로 만든다면 modelA.objects.filter(abc_isnull=False).exists()

    김승호

    아, 제가 질문을 잘못 올렸네요.
    현재 modelB에서 abc= OneToOneField(ModelA)로 지정한 상태입니다. 예전에는 abc= ForeignKey(ModelA)로 했었고요~.
    여기서 modelA의 특정 인스턴스와 연결된 modelB는 어떻게 찾을 수 있을까요?

    Kee-un Cho

    abc = OneToOneField(ModelA, related_name=’model_b’) 하시고 model_a.model_b 로 쓰셔도 됩니다.

    김승호

    자답을 해보자면, modelB.objects.filter(modelA__exact= instance)로 하면 알 수 있네요. 리스트가 비어 있으면 modelA의 instance와 연관된 modelB가 없다는 사실을 알 수 있었는데요.
    그런데, ForeignKey에서의 exists()처럼 코드 가독성 면에서 더 나은 방법이 없을까 궁금하네요.
    기언 님/ 말씀하신 방법대로는 modelA에 해당하는 modelB가 ‘존재할 때만’ 참조가 가능하고, 존재하지 않는 경우 쿼리 에러가 나오네요.

    Yeaji Shin

    try exception으로 에러가 나올경우 exception으로 처리하는건 어떨까요 ‘ㅁ’

    김승호

    예지 님/ 아.. 그게 정석일까요? 제가 try에 약해서… ;;

가입하고 처음 글씁니다. :) Django로는 음 프로젝트 3개정도 했구요. 이번에 rrd

 
Yeaji Shin

가입하고 처음 글씁니다. 🙂 Django로는 음 프로젝트 3개정도 했구요. 이번에 rrdtools 프론트앤드로 graphite를 사용해봤는데 엄청 좋네요. django로 개발했는데 깔끔하게 개발 잘한것 같습니다. 기회되면 한번 사용해보세요 🙂

  • Kwon-Han Bae

    몬이다 =3

    Yeaji Shin

    배권한 -_-! YA

    김슬

    ㄷㄷ..

[질문] 파이썬 관련 질문해도 되나요? 질문 코너가 따로 있나요? 2를 계속 거듭제곱해

 
Jang Dongmin

[질문] 파이썬 관련 질문해도 되나요? 질문 코너가 따로 있나요?

2를 계속 거듭제곱해 가면 맨 앞의 숫자가 달라집니다.
예를 들어 2^10=1024 2^11=2048 에서 각각 1과 2를 말합니다.

이 결과물 중에서 맨 앞 숫자가 1인 것만 추출하는 방법좀 가르쳐 주세요^^
정규식을 써야 할 것 같은 느낌이 들기는 하는데 정규식은 어떻게 쓰는건지 몰라서..
초보에게 자비를 베풀어 주시면 감사하겠습니다^^

  • Taeho Kim

    정규식까지 쓰실 필요는 없을 것 같은데요~ ‘abc'[0]이 ‘a’ 인건 알고 계시죠? 그렇다면 ‘2048’[0]은 ‘2’고 ‘1024’[0]은 ‘1’이겠죠.

    Jang Dongmin

    우와.. 천재십니다^^ 감동.. 그러면 되겠네요.. 우와..

    Jang Dongmin

    참!! 정말 빨리 답해주셔서 고맙습니다.^^

    Jang Dongmin

    그런데 문제가…[0]은 문자열이나 리스트 등에서 쓰는 거 아닌가요? 비교할 수 없다는 에러가 자꾸..^^ 한 번 더 도와주시길..

    Yong Choi

    str(2048)[0]

    Taeho Kim

    예. 그러니 str 함수를 써서 문자열 타입으로 바꾸시면 됩니다.

    Jang Dongmin

    네^^ 두 분 정말 감사합니다.. 오늘 두 가지 기법을 배웠네요..책 볼 땐 이해했는데 역시 실전은..^^

    Chinseok Lee

    http://pastebin.com/JgAjxC5h

    Yong Choi

    filter(lambda x: str(x).startswith(‘1’), [2 ** x for x in range(30)])

    Yong Choi

    [2**x for x in range(30) if str(2**x).startswith(‘1’)] 아하, 이런 방법도 있었네요.^^

    Jang Dongmin

    와우.. 위 방법들 다 해보니 이게 진짜 공부다 싶네요^^ 모두 감사합니다..