0
私はビデオオブジェクトを持っていますが、これは管理者が使用できます。私はそれらの特集したビデオを特集された日付で並べ替えることができるようにしたい。ここでブール値フィールドにタイムスタンプを追加
は、私が現在持っているモデルがある - 私の関連するビューのコードは次のようになります
class VideoMedia(models.Model):
uploaded_by = models.ForeignKey('UserProfile')
video = models.ImageField(upload_to='videos')
info = models.ForeignKey('VideoInfo', blank = True, null=True)
class VideoInfo(models.Model):
title = models.CharField(max_length=256)
featured = models.BooleanField # need time also
...
-
video_set = VideoInfo.objects.all()
if sort == 'featured':
videos = video_set.filter(featured=1) # .order_by('timestamp') ?
私は注目の分野にFKを追加しようとしたが、それはそれを作ります私はビュー/テンプレートで正しいデータを表示するのが非常に困難です。
class FeaturedVideos(models.Model):
video = models.ForeignKey(VideoMedia)
timestamp = models.DateTimeField(auto_now_add=True)
# in view
if sort == 'featured':
videos = FeaturedVideos.objects.order_by('timestamp')
# this doesn't work, because I need to be relative to the VideoInfo model
# for the information to display correctly in the template
このタスクを達成する最も簡単な方法は何でしょうか?ありがとうございました。
と同様に、features = models.DateTimeField(auto_now_add = True、null = True、blank = True) '? – David542
私はauto_now_add = Trueを使用しません。それは行を追加するときに値を自動的に設定し、すべてのビデオを特色にします。私は上記のことをやるだろう。 null = True、およびblank = Trueの場合、フィーチャの値を渡さない限り、デフォルトはnullになります。 –
@Ken、okありがとう、私はDB構造を取得し、それは正常に動作しています。ビューでは、どのように '非null'でフィルタリングするのですか?たとえば、if sort == 'featured':videos = video_set.filter(featured = NOT NULL).order_by( 'featured') '? – David542