2016-12-31 11 views
0

私は小規模ビジネスの友達のためのウェブサイトを作っています。各ユーザーごとに、各ユーザーに1から始まる数字で注文にアクセスできるようにしたいと思いますが、バックエンドではグローバルナンバリング。したがって、各ユーザーの最初の注文は/orders/1/になります。これがどのように一般的に達成されるべきかについて合意がありますか?私はそれを見て、私はこれを2つの方法で行うことができます:Djangoでユーザー固有の番号を付ける最も良い方法は何ですか?

ordersテーブルの別の列に番号を格納します。ユーザーのすべてのレコードを更新せずに削除を処理する方法が完全にはわからないため、これを実行しないことをお勧めします。誰かが私が扱う必要のある場合を知っているなら、私はこれと一緒に行くかもしれません。私はナンバリングを扱う各ユーザーの注文ページを取得するときに私が作るすべてのクエリセットの場合

OR

は、これの利点は、常に私はテンプレートでそれを行う場合は特に、正しい番号を与えることです。今はこれが簡単だと思われますが、将来的にはこれが問題になると感じています。私が見ている主な問題は、そのURLに主キーがない正しいURLにリンクする方法がわからないことです。私は別のアプリでMyUserとを保存することをお勧めいたします

答えて

0

は、別のアプリで

class MyUser(BaseUser): 
    # extra fields 

や店舗の注文を占めると言う、注文の数によって順番

from accounts.models import MyUser 

class Order(models.Model): 
    user = models.ForeignKey(MyUser) 
    order_num = models.IntegerField() 
    # other fields 

キープ更新この列order_numを言いますユーザーが作成しました。 数を取得するには、 件数= Order.objects.filter(ユーザー== request.user).count()

関連する問題