2011-12-23 25 views
5

tôi thêm một ImageField trong mô hình của tôi nhưLàm thế nào tôi có thể lọc imagefield theo tên tập tin trong django

class UserImage(models.Model): 
    photo = models.ImageField(upload_to='target_path') 
    .... 

sau khi tôi tiết kiệm một hình ảnh, chúng ta hãy nói 'a.jpg', sau đó tôi muốn sử dụng tên tập tin 'một .jpg 'để lọc mô hình, tôi nên viết gì như sau:

UserImage.objects.filter(photo.filename='a.jpg') 
.... 

Trả lời

12

Đề xuất của bạn sẽ cho bạn lỗi. Hãy thử điều này thay vì:

UserImage.objects.filter(photo='a.jpg')

Edit: Django prepends các upload_path với tên tập tin. Truy vấn sau đó sẽ làm điều gì đó tương tự, ví dụ:

UserImage.objects.filter(photo='images/users/photos/a.jpg')

+1

Bạn có nghĩa là 'thêm' thay vì 'nối thêm', phải không? – beruic

Các vấn đề liên quan