私はのは、以下のモデル定義と、Book
を言わせて、テーブルを持っている:Djangoのモデルリストオーダーフィールド更新
class Book(models.Model):
name = models.CharField('name of the book', max_length=10)
sequence = models.IntegerField('The order for the book')
私は従うようsequence
フィールドでBook
リストの順序を表示する必要がある、とシーケンス値だろう
Book.objects.all().order_by('sequence')
... 1、2、3、などのことしかし、ビューでブックインスタンスを更新/作成するとき、私は立ち往生しています。新しい本モデルを挿入したり、既存の書籍モデルを更新するときに、既存の書籍をre-sequence
する方法がわかりません。
と仮定、私はすでにデータベースに3冊を得た、のは言わせて:
BookA, sequence = 1
BookB, sequence = 2
BookC, sequence = 3
私はシーケンスでBookDという名前の新しいものを、挿入すると、私は既存のものを更新する必要がありますすでにデータベースに登録されている書籍ごとに新しいシーケンス値を割り当てます。私の期待される結果は次のようになります:
BookD, sequence = 1
BookA, sequence = 2
BookB, sequence = 3
BookC, sequence = 4
だから誰でもdjangoでこれを行う方法を知っていますか?サンプルコードは本当に感謝しています。ありがとうございました。
あなたはhttps://github.com/incuna/djから同じ実装される機能を得ることができますango-orderable。 –
@MikhailPyrevあなたのお薦めに感謝し、注文可能なプロジェクトを見てみましょう... – Enix