Một ràng buộc chỉ mục duy nhất trên trường sẽ đảm bảo rằng các giá trị trùng lặp không được phép. Có một số cách để làm điều này. ID sẽ là tuần tự hay ngẫu nhiên? Show Nếu là tuần tự, tất cả các hoạt động lưu của bạn nơi ID được tạo phải nằm trong các khối giao dịch. hoạt động ORM như. last() có ích để xác định ID khả dụng tiếp theo. Một tùy chọn cần xem xét là tách ID thành hai trường mô hình, một cho tiền tố 3 ký tự và trường thứ hai cho hậu tố số. "ID" sau đó sẽ được trình bày cho người dùng cuối dưới dạng nối của hai trường. Làm điều này cung cấp hai lợi thế. Tìm kiếm theo chuỗi văn bản chậm hơn so với tìm kiếm bằng số. Một ID do người dùng cung cấp sau đó được tìm kiếm trong DB bằng cách sử dụng hai trường sau khi được phân tách dễ dàng bằng Python, tận dụng lợi thế của việc lập chỉ mục kiểu gốc trong DB. Thứ hai, bạn có thể chọn tận dụng chức năng tự động tăng của DB trên trường thứ hai. DB là cách hiệu quả hơn để theo dõi điều đó. Chắc chắn, nó sẽ bắt đầu bằng 1 và tăng dần lên, nhưng để tạo ra một số có 7 chữ số từ số đó, bạn chỉ cần điền vào đó sáu số không trước khi kết hợp nó với tiền tố ngay trước khi bạn hiển thị cho người dùng. Không quan trọng giá trị tiền tố tại thời điểm đó là gì. Tất cả những gì bạn cần là mã gồm 7 chữ số (lúc đầu sẽ chứa hầu hết các số không) để tìm bất kỳ bản ghi nào. Tiền tố chỉ đơn giản là để giải thích cho con người. Chiến lược này có tác dụng phụ là hai tiền tố không bao giờ có hậu tố giống nhau, nghĩa là bạn sẽ không bao giờ có giá trị ID là ABC0000001 và POZ0000001 cùng một lúc. Tuy nhiên, điều này giới hạn bạn ở tổng số 9.999.999 mục giữa tất cả các tiền tố của bạn. Nếu nó là ngẫu nhiên, thì bạn chỉ cần có một phép toán. random(1,10000000), nhưng bạn sẽ cần thêm logic để xác định tính duy nhất và xử lý xung đột. Tôi vẫn khuyên bạn nên chia nó thành hai trường nếu bạn biết rằng đó sẽ luôn là định dạng ID của bạn. Hãy nhớ rằng nếu bạn đi theo con đường ngẫu nhiên, bạn không bao giờ có thể xóa một bản ghi khi nó đã được tạo để đảm bảo rằng ID không được sử dụng lại. Trong trường hợp này, các. phương thức tồn tại () là bạn của bạn hoặc bạn có thể sử dụng chiến lược chèn mà tôi đã đề cập trong chủ đề khác của mình UUID là viết tắt của Định danh duy nhất toàn cầu. Python cung cấp Mô-đun UUID Python được triển khai dựa trên RFC 4122. Thông số kỹ thuật RFC 4122 cung cấp các chi tiết và thuật toán để tạo Số nhận dạng duy nhất của tất cả các phiên bản Ưu điểm của UUID
Python >>> import uuid 0 hỗ trợ các phiên bản UUID sau
Bây giờ chúng ta hãy xem nó với một số ví dụ Sử dụng UUID1()uuid1() được xác định trong thư viện UUID và có thể được sử dụng để tạo id ngẫu nhiên bằng địa chỉ MAC và thành phần thời gian cú pháp uuid.uuid1(node=None, clock_seq=None) Thông số
>>> import uuid UUID1 có thể được biểu diễn theo cách sau
>>> Bạn cũng có thể lấy phiên bản và biến thể của UUID >>> print (uuid.uuid1().version) Cấu trúc/trường của UUID()
Sự cố với uuid1() Vấn đề chính của phương thức uuid1() là nó sử dụng địa chỉ MAC của máy tính, do đó nó có thể xâm phạm quyền riêng tư, mặc dù nó cung cấp tính duy nhất. Vì vậy, phương thức uuid1() không hữu ích trong các ứng dụng nhạy cảm với dữ liệu Sử dụng uuid4()Hàm >>> import uuid 2 của Python tạo UUID bằng cách sử dụng trình tạo ngẫu nhiên thực sự hoặc giả ngẫu nhiên. Và không ảnh hưởng đến quyền riêng tư vì nó không sử dụng MAC của máy tính>>> import uuid Sử dụng uuid3() và uuid5()cú pháp. uuid3() Nó tạo UUID dựa trên hàm băm MD5 của mã định danh không gian tên (là UUID) và tên (chuỗi) ________số 8cú pháp. uuid5() Nó tạo UUID dựa trên hàm băm SHA-1 của mã định danh không gian tên (là UUID) và tên (chuỗi) Làm cách nào tôi có thể tạo một ID duy nhất trong Python?uuid1() được xác định trong thư viện UUID và giúp tạo id ngẫu nhiên bằng địa chỉ MAC và thành phần thời gian . byte. Trả về id ở dạng chuỗi 16 byte. int. Trả về id ở dạng số nguyên 128 bit. lục giác. Trả về id ngẫu nhiên dưới dạng chuỗi thập lục phân 32 ký tự.
Làm cách nào để tự động tạo id trong Python?cơ bản về UUID. Mô-đun UUID đi kèm với thư viện chuẩn python, do đó, bạn không cần cài đặt bất cứ thứ gì tạo một id ngẫu nhiên duy nhất. Để tạo một id ngẫu nhiên, bạn gọi phương thức uuid4() và nó sẽ tự động tạo một id duy nhất cho bạn giống như trong ví dụ bên dưới;. dự án mẫu. . đầu ra Làm cách nào để tạo UUID gồm 6 chữ số trong Python?Làm cách nào để tạo ID duy nhất gồm 6 chữ số trong Python? . # id ngẫu nhiên sử dụng uuid1() nhập uuid . # In id ngẫu nhiên sử dụng uuid1() print ("Id ngẫu nhiên sử dụng uuid1() là. ",end="") in (uuid.
Làm cách nào để chuyển đổi id thành chuỗi trong Python?Trong Python, một số nguyên có thể được chuyển đổi thành một chuỗi bằng cách sử dụng hàm str() tích hợp sẵn . Hàm str() lấy bất kỳ kiểu dữ liệu python nào và chuyển đổi nó thành một chuỗi. |