Tôi đang ở trên đỉnh của công việc bắt đầu trên một ứng dụng web mới. Một phần của điều này sẽ cung cấp cho người dùng các trang mà họ có thể tùy chỉnh trong mối quan hệ một đến nhiều. Các trang này tự nhiên cần có URL duy nhất.Tạo ID/PK không tuần tự cho Mô hình Django
Còn lại thiết bị của riêng mình, Django thường sẽ chỉ định ID AUTOINCREMENT
tiêu chuẩn cho một kiểu máy. Trong khi điều này hoạt động tuyệt vời, nó không nhìn tuyệt vời và nó cũng làm cho các trang rất dễ dự đoán (cái gì đó không phải là mong muốn trong trường hợp này).
Thay vì 1, 2, 3, 4, tôi muốn các chuỗi có chữ số được tạo ngẫu nhiên, chiều dài được thiết lập (ví dụ: h2esj4). 6 điểm của một tập hợp có thể có 36 ký tự nên cho tôi hơn hai tỷ kết hợp mà nên là quá đủ ở giai đoạn này. Tất nhiên nếu tôi có thể mở rộng điều này sau này, điều đó cũng sẽ tốt.
Nhưng có hai vấn đề:
chuỗi ngẫu nhiên thỉnh thoảng giải thích rõ ràng từ xấu hoặc cụm từ gây khó chịu khác. Có cách nào tốt để tránh điều đó không? Để công bằng tôi có thể có thể giải quyết cho một chuỗi số nhưng nó có một hit nặng về khả năng đụng độ.
Làm cách nào để tải Django (hoặc cơ sở dữ liệu) để thực hiện việc nâng hạng nặng khi chèn? Tôi không muốn chèn và sau đó làm việc ra chìa khóa (vì đó sẽ không phải là một chìa khóa). Tôi cho rằng có các vấn đề đồng thời cần phải nhận thức quá mặc dù nếu hai trang mới được tạo ra cùng một lúc và lần thứ hai (chống lại tất cả các tỷ lệ cược) kỳ diệu có cùng khóa như trước khi lần đầu tiên được cam kết.
Tôi không thấy điều này trở thành một triệu dặm khác nhau từ cách URL rút gọn tạo ID của họ. Nếu có một Django thực hiện phong nha của một, tôi có thể piggyback off đó.
là một lưu ý: 'sh URL orteners 'thường tạo ra các URL tuần tự :). –