我正在构建一个具有图片库的django应用程序,并且客户端坚持要按特定顺序显示图像。我使用管理界面上传图像并编辑它们的属性,我的模型中有一个ImageFile
类,基本上是这样的:
class ImageFile(models.Model):
"""represents an image file"""
# the image description
description = models.CharField(max_length=45)
# the actual image
image = models.ImageFile(upload_to='images')
# running number representing the order on the page
order = models.IntegerField()
def __unicode__(self):
return "%s" % (self.description)
class Meta:
db_table = 'images'
我正在使用IntegerField
'order'来运行控制排序的号码。我认为必须有一个更聪明/更好的方法(另一个模型?),并且还能够通过管理界面轻松控制它。
答案 0 :(得分:1)
我支持你想给用户分类图像的可能性,(无论如何你想通过时间添加排序,最好的方式是通过id订购),所以,如果有像Gallery(图像)这样的模型也许你应该存储来自galery的图像ID元组(在DB中作为文本对象)。阅读后将其转换为元组,并且您已预期订单。希望我能帮忙。
答案 1 :(得分:0)
如果图片的顺序是他们上传的顺序,您可以使用时间戳来订购它们。
答案 2 :(得分:0)
我使用相同的方法(在模型中使用整数“order”字段)来定义排序。但是,我自定义了管理员以允许拖放属于相册的图像来定义订单。当管理员点击“保存”按钮时,将根据拖放后的当前订单自动计算订单。所有数据都将提交给服务器以保存到数据库。