Tôi đang cố gắng tạo mô hình ndb trong đó mỗi bản ghi có một trường "tên" duy nhất. Tôi muốn xác định trường này là trường key_name và sử dụng nó để tra cứu các bản ghi. Tôi có phải bao gồm một trường tên hoặc bằng cách nào đó tôi có thể đặt trường key_name thành một chuỗi tùy ý mà người dùng có thể chỉ định miễn là nó là duy nhất?Cách tốt nhất để chỉ định một key_name cho Mô hình NDB của App Engine là gì?
Tôi đang nghĩ đến việc sử dụng Model.get_or_insert để đảm bảo rằng các bản ghi cũ không bị ghi đè, nhưng có cách nào để biết liệu giá trị trả lại có được tạo mới hoặc có sẵn không? Tôi muốn có thể hiển thị thông báo lỗi nếu người dùng nhập tên trùng lặp.
Cuối cùng, tôi đã cố gắng tạo trường key_name trên mô hình DjangoForms sử dụng mô hình ndb ở trên làm metaclass vì vậy tôi có thể sử dụng djangoforms để xác thực/kết xuất nhưng vì một số lý do mà trường đã xác định của tôi không hiển thị.
lớp UserProfileForm (djangoforms.ModelForm): KEY_NAME = djangoforms.StringProperty() lớp Meta: mô hình = UserProfile
Bạn nên thực sự đặt câu hỏi riêng cho từng câu hỏi này, thay vì gộp chúng lại với nhau. –