前提・実現したいこと
Python: 3.6.6
Django: 2.1
mysql: 5.7
Djangoを利用したToDOアプリの作成をしております。
ToDO一覧画面を表示する際、締め切り日で昇順にソートしたいのですが、締め切り日がNULLのデータが先頭に来てしまいます。
昇順でソートしつつ、NULLのデータを後ろにソートしたいです。(できればListViewを使用したまま)
ご教示よろしくお願い致します。
該当のソースコード
views.py
Python
1class DisplayView(ListView): 2 """ToDo表示画面の表示""" 3 model = Todos 4 template_name = 'todo/display.html' 5 context_object_name = 'todo_list' 6 ordering = ['deadline']
models.py
Python
1class Categories(models.Model): 2 """Categoriesモデル""" 3 class Meta: 4 db_table = 'categories' 5 6 category = models.CharField(verbose_name='カテゴリー', max_length=10) 7 8 def __str__(self): 9 return self.category 10 11 12class Todos(models.Model): 13 """ToDosモデル""" 14 class Meta: 15 db_table = 'todos' 16 17 todo = models.CharField(verbose_name='ToDo', max_length=100) 18 category = models.ForeignKey(Categories, verbose_name='カテゴリー', on_delete=models.PROTECT) 19 deadline = models.DateField(verbose_name='締め切り', null=True, blank=True) 20 register_datetime = models.DateTimeField(verbose_name='登録日時', auto_now_add=True) 21 update_datetime = models.DateTimeField(verbose_name='更新日時', null=True, auto_now=True) 22
調べたこと
参照:http://d.hatena.ne.jp/katz_24/20111119/1321716167
こちらのURLを見ると、MySQLではNULLを一番後ろにしたソートは可能だそうです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。