現在、オブジェクトを追加、編集、または削除しているときに、URL でオブジェクトの ID (pk) を使用しています。もちろん、その特定のオブジェクトのグローバル主キー ID がユーザーに公開されます。POSTを使用しているときに、フォーム内のURLおよび/または隠しフィールドからこれらのグローバルIDを隠したいと思っています。
もう少しわかりやすくするために、例を挙げて説明します。だから私は次のモデルを持っているとしましょう。
モデル.py
class Profile(User)
# Some fields here
class Student(Profile)
# some fields here
class Teacher(Profile)
# Some fields here
class Project(models.Model)
student = models.ForeignKey(Student)
# some more fields here.
Project
上記のモデルに従って、既存のインスタンスを編集または削除したいとします。私が現在行っているのはid(pk)
、次のように を URL の引数として使用することです。
Urls.py
url(r'^project/(?P<id>\d+)/edit/$', 'app.views.edit_project'),
url(r'^project/(?P<id>\d+)/delete/$', 'app.views.delete_project'),
これらのIDをURLから完全に隠すための最良の方法は何ですか?
学生ごとにプロジェクト ID を取得する方法はありますか? auto_increment
Project テーブルに別の列を追加するようなものですか?