2011-09-30 7 views
2

Eclipse/pydev의 코드 완성은 나에게 잘 작동합니다. 그러나 내가 원하는 것처럼 작동하지 않는 한 가지가 있습니다. 이 문제에 지금코드 완성 Pydev Django 모델 외래 키 필드

class ReletionTree(models.Model): 
    mother = models.ForeignKey('RelationTree', blank=True, null=True) 
    father = models.ForeignKey('RelationTree', blank=True, null=True) 
    name = models.CharField() 

rt = RelationTree.objects.get(name='Mary') #assume unique on Mary 

: 다음 장고 모델을 고려

rt.  #--> will code complete and give me options mother/father/name 
rt.mother. #--> will not code complete into mother/father/name, it will code 
      # complete as if isinstance(rt.mother, models.ForeignKey) (I think) 

를 PyDev가 나는 그들이 유형의 어디에서 것처럼이 완료 외래 키 을 원하는 코드를 이해 할 수있는 방법이 있나요 어떤에 내가 또한 DJA을 (매우 그것을 의심,

감사합니다 (위의 경우 RelationTree하지 models.ForeignKey에) 데이비드

답변

1

포인트 ngo와 Eclipse). Pydev는 장고가 father = models.ForeignKey()father = RelationTree() 또는 다른 것으로 변환하는 데 사용하는 이상한 메타 클래스를 이해할만큼 충분히 똑똑하지 않기 때문에.

파이썬은 autocompleters가 구문 분석하기가 정말로 어렵고, PyDev와 PyLint는 메타 클래스에서 완전히 포기하는 것처럼 보입니다. =

0

일부 3+ 년 이상 (! pylint 항상 내 모델 클래스는 더 objects 회원이 없다고 불평) 내 6개월 프로젝트는 아직 (완성되지 않습니다 그러나 내가 지금 알고 :.

  1. 당신은 사용해야합니다 pycharm 대신 이클립스 + PyDev의는. 그들의 무료 버전은 내 의견으로는 파이썬 개발을위한 더 나은입니다.
  2. Pycharm 전문 에디션도 장고 코드 완성 기능을 지원한다. 그것은 나를 많은 시간을 절약 할 수 있습니다.