在Django mod中存储指向云文件的链接列表的最佳方式是什么

2024-09-30 10:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个项目,其中涉及一个django模型,它应该有一个包含aws3图像链接的字段。在

字段应该是字符串列表,但django没有此字段的默认字段。在

我在网上搜索过,解决这个问题的方法是创建另一个名为imagesModel的模型,然后用ForeignKey将它们链接起来。但在我的例子中,我只需要一个字符串列表,所以我认为应该有一个更简单的方法来完成这个任务?在

有些人建议创建一个自定义字段来保存字符串列表,有些人建议使用JSON字段来保存字符串列表。在

我认为用django模型在云端存储图像链接应该是相当普遍的,应该有一种传统的方法来实现这一点。在

有什么帮助吗?在


Tags: 项目django方法字符串模型图像json列表
3条回答

问题是你要处理这些图片的上传吗?在

如果是,那么您将必须创建custom storage system(或者使用第三方1,对于S3有多个服务器),然后使用一个单独的带有ImageField的图像模型,它将存储路径,并通过多对多链接到主模型。在

如果不是,这意味着您只需要返回到图像的链接,那么一个解决方案是使用一个单独的模型来处理带有URLFields的图像,它将存储图像的URL,并通过多对多链接到主模型。或者,如果图像在主模型中的记录之间不重复,并且其中有一些与每条记录对应,那么反规范化将可以提高性能—使用主模型上的字段来存储字符串列表。JSONField听起来像JSON,非常适合存储字符串列表,但它是针对PostgreSQL的。 但是如果字符串列表实际上是url列表,它不包含空格,那么简单的方法是仅text_filed_value=" ".join(list_of_strings)它们并在主模型上共同存储{a5},然后{}将它们作为字符串列表返回。在

您可以使用Models.FileField。使用upload_to属性指向远程存储。在

所以你有一个模型,你想在其中保存一个字符串(链接)列表。最简单的方法是用textfield和一对多关系创建一个单独的模型。在

相关问题 更多 >

    热门问题