2010-03-26 41 views
10

Hy vọng điều này có ý nghĩa ...Django truy vấn để có được một bộ duy nhất dựa trên giá trị của một cột cụ thể của

Có một cách đơn giản để trả về một tập hợp các giá trị từ một bảng dựa trên giá trị một cột duy nhất của việc rành mạch độc đáo ? Những gì tôi đang hy vọng là cái gì đó như:

SegCode.query.filter(ref.unique()).only('ref') 

Đó không phải là mã thực, nhưng tôi đã hy vọng có một số chức năng đơn giản ra khỏi đó sẽ thực hiện điều này ...


Ví dụ: Bảng có thể trông giống như:

1 | abc | 123 | AAA 
2 | def | 456 | AAA 
3 | ghi | 789 | BBB 
4 | jkl | 012 | CCC 
5 | mno | 345 | CCC 
6 | pqr | 678 | CCC 
7 | stu | 901 | DDD 
8 | vwx | 234 | DDD 

Vì vậy, tôi muốn một bộ mà trở lại với: [AAA, BBB, CCC, DDD]

Trả lời

14
SegCode.objects.values_list('ref', flat=True).distinct() 

Tôi nghĩ rằng đây là những gì bạn đang sau, câu hỏi của bạn không phải là thực sự là rõ ràng

+0

Chưa thử mã của bạn, nhưng tôi vừa cập nhật thêm một số thông tin, hy vọng làm rõ những gì tôi đang cố gắng hoàn thành. – kafuchau

+0

Ok sau đó, theo chỉnh sửa của bạn, mã của tôi là chính xác những gì bạn muốn – priestc

+0

Điều đó chỉ hoạt động nếu lớp SegCode của tôi là một mô hình Django, đúng không? Điều gì xảy ra nếu lớp của tôi là một thực thể Elixir, có nghĩa là tôi phải sử dụng Querysets để thực hiện truy vấn? Tôi hỏi vì tôi nhận được một lỗi: gõ đối tượng 'SegCode' không có thuộc tính 'đối tượng' – kafuchau

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