Hiện nay tôi đang sử dụng một cái gì đó như thế này:Làm thế nào để có được một cái gì đó ngẫu nhiên trong kho dữ liệu (AppEngine)?
images = Image.all()
count = images.count()
random_numb = random.randrange(1, count)
image = Image.get_by_id(random_numb)
Nhưng nó chỉ ra rằng các id trong kho dữ liệu trên AppEngine không bắt đầu từ 1. tôi có hai hình ảnh trong kho dữ liệu và id của họ là 6001 và 7001.
Có cách nào tốt hơn để truy xuất hình ảnh ngẫu nhiên không?
Trong trường hợp 'thực thể là None', bạn chỉ cần tìm nạp thực thể đầu tiên, được sắp xếp theo' rand_num', do đó xử lý các thực thể như một bộ đệm tròn. Cách bạn hiện đang thực hiện nó khiến cho thực thể cuối cùng có khả năng được chọn nhiều hơn tất cả những người khác. –
Truy vấn này sẽ được lập chỉ mục như thế nào nếu có? Tôi đã phải thực hiện một giải pháp cho điều này và không chọn phương pháp này vì sợ thiếu hiệu quả của kiểu truy vấn này. Không chắc chắn nếu nỗi sợ của tôi được thành lập (xem giải pháp bên dưới). –
Mọi thuộc tính tự động bao gồm chỉ mục tăng dần và giảm dần, trừ khi bạn vô hiệu hóa nó một cách rõ ràng. Đoạn mã trên phải hiệu quả về quy mô. Tôi đã cập nhật nó để phản ánh bản sửa đổi của Nick. –