したがって、これを Django または SQL の質問として提示するかどうかはわかりませんが、次のモデルがあります。
class Picture(models.Model):
weight = models.IntegerField(default=0)
taken_date = models.DateTimeField(blank=True, null=True)
album = models.ForeignKey(Album, db_column="album_id", related_name='pictures')
数千単位の Picture レコードのサブセットがある場合、それらを並べ替えtaken_date
、値を設定して順序を維持する必要がありweight
ます。
たとえば、Django では次のようになります。
pictures = Picture.objects.filter(album_id=5).order_by('taken_date')
for weight, picture in enumerate(list(pictures)):
picture.weight = weight
picture.save()
私が期待している数千のレコードの場合、これには時間がかかりすぎる可能性があります。このタスクを実行するためのより効率的な方法はありますか? 私は最近、データベースの一括操作に関して Django が必ずしも「まだそこにある」とは限らないことを学んだので、SQL に頼る必要があるかもしれないと仮定しています。