2010-02-01 2 views
0

FileField가 포함 된 모델이 있습니다. 특정 파일 이름을 검색하고 싶습니다. 어떻게해야합니까? 나는 시도했다 :Django ORM : 필드 속성에 대한 선택

MyModel.objects.get(document__name=FOO) 

'문서에 대한 조인'이 허용되지 않습니다.

감사합니다.

+0

하면 모델을 공유하고 도움이 될 수 있습니다. – monkut

+0

문서는 표준 FileField이며 이름은 표준 FileField 속성입니다. – SapphireSun

답변

1

문서를 필터링 할 수 있으며 디스크의 경로 인 문자열을 파일로 필터링합니다.

2

FileField의 특성은 데이터베이스에 저장되지 않으므로 쿼리에서 사용할 수 없습니다. 예를 들어, 이름은 단순히 upload_to 문자열과 파일 이름입니다. 파일에 대한 추가 데이터를 저장하려면 해당 데이터를 데이터베이스의 다른 필드에 넣어야합니다. example documentation에는 "57 Chevy"라는 이름의 자동차가 표시됩니다.

또한 일반적으로 Django의 ORM에서 이중 밑줄은 ForeignKey 또는 ManyToMany과 같은 데이터베이스 관계를 나타냅니다. 따라서 제공된 ORM 호출에서 MyModel 필드에 다른 모델에 ForeignKey 또는 ManyToMany 중 하나 였고 name이라는 필드가 있다고 가정합니다. 어떤 경우에는 소리가 나지 않습니다.

일부 도움이 되길 바랍니다.

2

대신이 작업을 수행 :

MyModel.objects.get(document__icontains='FOO') 
관련 문제