我需要为当前项目使用看起来很棒的django-storages Database storage backend,但是:
它可用于将文件名映射到数据库blob:因此您必须使用手动创建的特殊附加表。该表应包含文件名的pk列(最好使用与FileField使用的相同类型:nvarchar(100)),blob字段(例如图像类型)和size字段(bigint)。
我会承认的。 ORM已经破坏了我。自从我编写了一个SQL语句以来,我已经有一段时间了,而且我并不熟悉PostgreSQL的SQL和SQL的风格。 BLOB的。
那么,有人可以帮我解决一下Postgres CREATE TABLE语句,其中包含上面提到的三列(FILE_NAME,BLOB,FILE_SIZE)以及相应的列类型吗?
答案 0 :(得分:4)
对于PostgreSQL中的blob,通常使用bytea
类型的列。您的陈述可能如下所示:
CREATE TABLE (
file_name text PRIMARY KEY
,blob bytea
,file_size bigint
);
PostgreSQL中没有nvarchar
,就像在SQL Server中一样。您可以使用varchar(100)
,但我建议您只使用text
而不使用修饰符。
还有其他存储blob的选项。请参阅此related answer for more。