wagtail 2.0 beta 'wagtaildocuments.Document' 尚未加载
wagtail 2.0 beta 'wagtaildocuments.Document' has not been loaded yet
我已经安装了 wagtail 2 的测试版。下面是我项目中的代码片段。当我尝试 makemigrations 时,我收到一条错误消息:
ValueError:无法为 'link_document' 创建表单字段,因为它的相关模型 'wagtaildocuments.Document' 尚未加载
class LinkFields(models.Model):
link_document = models.ForeignKey(
'wagtaildocuments.Document',
null=True,
blank=True,
related_name='+',
on_delete=models.SET_NULL,
)
@property
def link(self):
return self.link_document.url
panels = [
DocumentChooserPanel('link_document'),
]
class Meta:
abstract = True
class CarouselItem(LinkFields):
embed_url = models.URLField("Embed URL", blank=True)
caption = models.CharField(max_length=255, blank=True)
panels = [
FieldPanel('embed_url'),
FieldPanel('caption'),
MultiFieldPanel(LinkFields.panels, "Link"),
]
class Meta:
abstract = True
我正在使用 Django 2、Python 3.6、Wagtail 2.0b1
外键中的文档模型应引用为 'wagtaildocs.Document'
,而不是 'wagtaildocuments.Document'
。
虽然 Wagtail 中的许多模块路径(例如 import
行中使用的)已针对 Wagtail 2.0 进行了更新,但应用程序 labels 没有变化。 (必须这样做,因为应用程序标签只是一个名称,如 wagtailimages
或 wagtaildocs
,没有虚线路径来区分它:如果它被称为 images
或 documents
相反,它会冒与项目中使用相同名称的其他应用程序发生冲突的风险。)外键定义中的模型名称写为 '<app_label>.<ModelName>'
,因此 wagtaildocs
是此处使用的正确名称。
我已经安装了 wagtail 2 的测试版。下面是我项目中的代码片段。当我尝试 makemigrations 时,我收到一条错误消息: ValueError:无法为 'link_document' 创建表单字段,因为它的相关模型 'wagtaildocuments.Document' 尚未加载
class LinkFields(models.Model):
link_document = models.ForeignKey(
'wagtaildocuments.Document',
null=True,
blank=True,
related_name='+',
on_delete=models.SET_NULL,
)
@property
def link(self):
return self.link_document.url
panels = [
DocumentChooserPanel('link_document'),
]
class Meta:
abstract = True
class CarouselItem(LinkFields):
embed_url = models.URLField("Embed URL", blank=True)
caption = models.CharField(max_length=255, blank=True)
panels = [
FieldPanel('embed_url'),
FieldPanel('caption'),
MultiFieldPanel(LinkFields.panels, "Link"),
]
class Meta:
abstract = True
我正在使用 Django 2、Python 3.6、Wagtail 2.0b1
外键中的文档模型应引用为 'wagtaildocs.Document'
,而不是 'wagtaildocuments.Document'
。
虽然 Wagtail 中的许多模块路径(例如 import
行中使用的)已针对 Wagtail 2.0 进行了更新,但应用程序 labels 没有变化。 (必须这样做,因为应用程序标签只是一个名称,如 wagtailimages
或 wagtaildocs
,没有虚线路径来区分它:如果它被称为 images
或 documents
相反,它会冒与项目中使用相同名称的其他应用程序发生冲突的风险。)外键定义中的模型名称写为 '<app_label>.<ModelName>'
,因此 wagtaildocs
是此处使用的正确名称。