Django - dir 路径的哪个模型字段?

Django - Which model field for dir path?

我需要在我的模型中定义一个字段,它应该在服务器端托管一个有效的目录路径。 基本上只是一个字符串,应该是:

1) 正式有效的类 unix 目录路径

2) 现有目录路径

尝试使用 FilePathField 和选项 allow_files=False, allow_folders=True。 但是当我尝试从 django admin CRUD 创建模型的新实例时,我收到一个错误,声称该字段的初始值(默认情况下为空字符串)是一个不存在的路径...

我觉得这不是正确的方法。也许另一种字段类型更合适?也许它应该只是一个简单的字符串? (在这种情况下,我是否能够正确定义所需的验证器?)

感谢任何提示,

托马斯

尝试先将路径(字符串)保存在字典中,因为它是一个路径,然后将其作为字典保存在服务器中,这样可以工作并且会容易得多。

经过一些测试,我意识到这个模型字段类型实际上是用于通过浏览文件系统中 已经存在 的 files/dirs 来赋值的字段。因此,错误是由于我使用的路径参数(我随机选择的)在文件系统中不存在。

但是,这个模型字段仍然符合我的目的,因为必须选择一个已经存在的目录,肯定会强制用户分配一个满足上述两个验证点的值。

甚至可以通过包含整个子目录树来创建 "deep browsing"。只需使用 recursive=True 选项。

所以

repository = models.FilePathField("repo_root/", allow_files=False, allow_folders=True, recursive=True)

会成功的。

对于包含许多目录的子树,页面可能会变得无响应。

托马斯

也许尝试遍历这些文件系统并在函数路径下指定它们,并分别遍历子路径,这应该会向您显示整个子树,因为它会 运行 每个单独的子树分别一段时间。我认为你遇到了问题,因为 Django 没有 运行ing 所有可能的子文件系统。

希望对您有所帮助