2013-12-09 3 views
1

큰 프로젝트의 일부로 수동 관리자를 만들고 있습니다. 각 설명서에는 브랜드와 모델이 있으며 하나 이상의 PDF가 있습니다. django.db 수입 모델장고에있는 테이블에 둘 이상의 PDF 필드가있는 경우

class Manual(models.Model): 
    brand = models.CharField(max_length=255) 
    model = models.CharField(max_length=255) 
    manual = models.ImageField(upload_to='pdf') 

두 질문에서

:

  • 어떻게이 PDFField, 또는 일반 필드보다는 이미지 필드를 모델링 할 수 있습니까?
  • 수동 필드가 다른 테이블을 만들 필요없이 둘 이상의 파일을 가질 수 있습니까?

감사합니다.

+1

왜하지 않는 및 FileField를 사용합니까? 하나의 설명서 당 둘 이상의 pdf가 필요하면 일대 다 관계를 다른 테이블의 ForeignKey로 사용하십시오. 여러 모델을 갖는 데는 아무런 문제가 없습니다. – Fiver

+0

응답을 추가하여 신용을 허용 할 수있는 이유는 무엇입니까? – Dynelight

+0

물론, 조금 더 자세하게 답변을 추가했습니다. – Fiver

답변

1

설명서 당 둘 이상의 pdf가 필요할 경우 다른 테이블에서 ForeignKey로 일대 다 관계를 사용하십시오. 여러 모델을 갖는 데는 아무런 문제가 없습니다. 보기 코드에서

class Manual(models.Model): 
    brand = models.CharField(max_length=255) 
    model = models.CharField(max_length=255) 

class ManualPDF(models.Model): 
    manual = models.ForeignKey(Manual) 
    pdf = models.FileField(upload_to='pdf') 

(또는 형성 모델 코드) 당신은 그 때 얻을 수있는 ManualPDF 모델 객체의 검색어 세트를 반환합니다 _set을 사용하여 수동에 대한 모든 PDF 파일 :

some_manual = Manual.objects.get(id=1) 
some_manual_pdfs = some_manual.manualpdf_set.all() 

더 공식 장고 문서의 정보 :

https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_one/

관련 문제