【发布时间】:2017-08-27 23:28:37
【问题描述】:
我想制作一个模型,允许 Wagtail 管理站点中的用户选择图像目录,并在 CharField 中给出集合的名称,然后按下按钮,将创建具有给定名称的集合,然后将给定目录中的图像保存到数据库中(以便它们在 CMS 中可用)。图片的标题是它的文件名,而它的标签是找到图片的目录名。
我发现了另一篇关于如何使用代码将图像保存到数据库的帖子 (image saving) 但我在以编程方式创建集合时遇到问题。我在这里发现这段代码 (from here) 应该可以工作,但显然对我来说不行,当我执行 manage.py makemigrations 时,我收到此错误:
django.db.utils.IntegrityError: UNIQUE constraint failed: wagtailcore_collection.path
我需要在 add_child 中提供路径吗?它应该是什么路径? 提前感谢您的帮助!
root_coll = Collection.get_first_root_node()
root_coll.add_child(name='testcoll')
【问题讨论】:
-
请问您能显示 IntegrityError 的完整堆栈跟踪吗?我有点不明白为什么会在
makemigrations步骤上发生这种情况... -
请在 err_trace.log 中找到完整的错误消息 link。 model.py 在那里,注意我对 Wagtail 真的很陌生,所以欢迎任何帮助!
-
只是一个与编码相关的问题:Image 对象可以像这样实例化是如何工作的: Image(title="Image title", file=ImageFile(image_file, name="image-filename.jpg “))?当我查看the class definition 时,我没有看到任何 init 方法,但这些(标题、文件)是 AbstractImage 类的类变量,然后由 Image 继承。那么为什么在实例化 Image 时可以使用这些作为参数,为什么没有 init?
-
该行为由 Django 的基类
Model提供,此处描述:docs.djangoproject.com/en/1.10/topics/db/models
标签: wagtail