用django做论坛,怎么设计models关联帖子和任意张图片及图片信息?

起初我是把帖子和图片各创建一个模型,帖子以外键形式插入图片的模型里,设置9个URL的字段用来存储图片的链接。但是后来需求那边要求可插入不定张视频和图片,还都需要生成缩略图地址和长宽等信息,这样的话放在一张表里面貌似是解决不了了。

我在网上查了查,有人说一张图片一张表的话查询效率太低了,可以用json_encode只保存图片的一个数组。但他的示例是只存了URL和ID信息的,跟我情况不太一样。

那么请问,像我这种需求的,是每张图片单独一个表,还是全部encode后存在一个字段上好呢?

阅读 2.4k
1 个回答

只用外键就可以实现需求

# models.py
class Post(models.Model):
    pass


class Image(models.Model):
    post = models.ForeignKey(Post)
    # 在此添加保存图片/缩略图等等的ImageField、以及其他
# views.py
def a_view(request):
    Image.objects.get(...).post = Post()
    # or
    Post.objects.get(...).image_set.add(Image())
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题