2012-09-26 30 views
7

Tôi mới dùng django, tôi muốn lấy id có trường tên chứa "John". Dưới đây đoạn mã chạy rất tốt nhưng,yếu tố còn lại django cắt ngắn

Trong view.py

all_ids=Employee.objects.filter(name__contains = 'John').values('id') 
    return HttpResponse(" All id= %d " %all_ids) 

Nó trả về:

All id=[{'id': 1},{'id':2} , so on '...(remaining elements truncated)...'] 

Có một giới hạn để hiển thị 20 mục. Vì vậy, Làm thế nào tôi có thể thoát khỏi những hạn chế này và (các yếu tố còn lại cắt ngắn)? Có cách nào tốt hơn để có được tất cả các giá trị của một trường trong truy vấn mà không bị cắt ngắn không?

Trả lời

10

một cách để làm ghi đè lên nó sẽ là

all_ids= list(Employee.objects.filter(name__contains = 'John').values('id')) 
+0

Cảm ơn trả lời của bạn, nó dường như làm việc. Làm thế nào tôi có thể loại bỏ thẻ 'id' khỏi kết quả truy vấn, khiến nó giống như Tất cả id = [{'id': 1} –

+1

Sử dụng values_list (id, flat = True) thay vì giá trị – karthikr

+0

Cảm ơn một lần nữa, làm thế nào về điều này, nếu tôi muốn nhận được id của một trong những thay vì toàn bộ bó id, làm thế nào tôi có thể làm điều đó? –

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