2016-11-07 2 views
0

를 반대합니다. 장고 관리 링크는 내가 다음과 같은 모델을 가지고 관련 개체

지금 프로젝트 모델 관리자에 이미 너무 Invoice 모델에 대한 관리를 정의한 Invoice 모델 세부 page.I에 나를 리디렉션됩니다 링크를 추가하고 싶습니다. 이제 Project 모델의 admin.py 파일에 다음 코드를 작성했습니다.

def invoice_link(self, obj): 
    link = urlresolvers.reverse("admin:invoices_invoice_change", args=[ 
            obj.invoices_set.all()[0].id]) 
    return u'<a href="%s">%s</a>' % (link, obj.invoice.invoice_status) 
invoice_link.short_description = 'Generate Invoice' 
invoice_link.allow_tags = True 

하지만 내가 관련 송장 개체의 id를 얻기 위해 obj.invoices_set.all()[0].id을 사용하고 다음과 같은 오류가 제기된다.

AttributeError at /admin/projects/project/ 
    'Project' object has no attribute 'invoices_set' 

여기서 실수를하고 있지만 알아낼 수는 없습니다. 역으로 연결된 객체id을 어떻게 얻을 수 있습니까?

답변

0

아무런 related_name도 입력하지 않으면 관련 이름 invoice_set이 생성됩니다. 그러나 귀하의 경우에는 명시 적으로 related_name을 제공하고 있습니다. 따라서 invoice_set 대신 invoices을 사용해야합니다.

관련 문제