2014-05-16 3 views
0

장고의 get_by_natural_key() 방법을 사용하는 데 문제가 있습니다. (Django 1.6)Get_by_natural_key이 (가) AttributeError를 던지고 있습니까?

다음과 같은 코드 번호를 사용하는 항목이 있습니다 : ABC_1234.

관리자 및 모델 : 내 테스트에서

class ItemManager(models.Manager): 
    def get_by_natural_key(self, code_number_): 
     return self.get(code_number=code_number_) 

class Item(models.Model): 
    code_number = models.CharField('Code Number', 
     max_length = 10, unique = True) 
    def __unicode__(self): 
     return self.code_number 
    def natural_key(self): 
     return (self.code_number,) 

, 내가 가진이 쿼리 ...이 오류가 발생합니다

Item.objects.get_by_natural_key(code_number) 

... : 나는 '

AttributeError: 'Manager' object has no attribute 'get_by_natural_key' 

을 이 모델을 code_number과 관련있는 모델 픽스처의 자연스러운 키로 사용하고 싶습니다. 모델.

내가 뭘 잘못하고 있니? 어떤 제안?

답변

1

사용자 정의 관리자를 모델과 연관시키지 않았습니다. 당신은 너무 명시 적으로 수행해야합니다

class Item(models.Model): 
    ... 
    objects = ItemManager() 
+0

네, 그건를 놓쳤다. 고마워요! 정말 감사. – allanberry

관련 문제