将django models.ImageField映射到SQL表中

时间:2012-09-26 08:02:43

标签: sql django django-models sql-types

我的模型中有一个图像,我想自己编写SQL创建表查询 我的模型是这样的:

pic = models.ImageField(u"initial_picture",blank=True,upload_to="/face")

我希望使用命令CREATE TABLE SOME_TABLE_NAME来创建我的表格 但我不知道我应该用什么字段类型 我读here我可以使用这样的东西:

Photo varbinary(max) not null

但我不知道它是否与django兼容,是否适合我的模型 我也使用了pic IMAGE DEFAULT NULL,就像我看到here一样,结果是数据库结构中的varchar(100)字段

任何帮助都会得到满足 ; - )

我试过Photo varbinary(max) not nullPhoto varchar(max) not null 该字段正在显示但是当我按保存时,我收到以下错误:

Attempted access to '\face\sample.gif' denied.

1 个答案:

答案 0 :(得分:0)

为什么不将图像保存在文件系统中,作为普通文件?这将是相应的SQL

`pic` varchar(100) NOT NULL,

为你的pic领域。

pic = models.ImageField(u"initial_picture",blank=True,upload_to="/face")

在数据库中,pic字段仅包含实际图像文件的路径。