Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 可订购Bug中的可订购摇摆尾?_Python_Django_Navigation_Wagtail_Wagtail Snippet - Fatal编程技术网

Python 可订购Bug中的可订购摇摆尾?

Python 可订购Bug中的可订购摇摆尾?,python,django,navigation,wagtail,wagtail-snippet,Python,Django,Navigation,Wagtail,Wagtail Snippet,我想为一个网站的不同页面创建多个子菜单。因此,我创建了一个名为“子菜单”的代码段 子菜单包含一个名为submenu\u items的对象。在网页上,这将转换为顶级导航。然后,每个子菜单项都有一个下拉项。这样,在每个顶级链接下,我可以创建一个包含更多链接的下拉列表 问题: 每当我创建一个新的子菜单项时,它都会创建3个下拉项(如下图所示)。我希望它提供添加下拉项按钮。然后,我会根据需要一次创建一个。默认情况下,代码似乎生成了三个 我试着删除它们,保存片段。但当我点击这个片段时,它们又出现了。我尝试重

我想为一个网站的不同页面创建多个子菜单。因此,我创建了一个名为“子菜单”的代码段

子菜单包含一个名为submenu\u items的对象。在网页上,这将转换为顶级导航。然后,每个子菜单项都有一个下拉项。这样,在每个顶级链接下,我可以创建一个包含更多链接的下拉列表

问题:
每当我创建一个新的子菜单项时,它都会创建3个下拉项(如下图所示)。我希望它提供添加下拉项按钮。然后,我会根据需要一次创建一个。默认情况下,代码似乎生成了三个

我试着删除它们,保存片段。但当我点击这个片段时,它们又出现了。我尝试重新创建整个模型并重新迁移所有内容。我还是有同样的问题

有人能指出我可能做错了什么吗?我缺少的嵌套元素有什么规则吗


DropdownItem类的用途是什么?我相信SubnumItem和DropdownItem是多余的。如果您回到wagtail教程并查看gallery images示例,您将找到答案


作者创建了BlogPageGalleryImage,它继承了Orderable。子菜单项可以使用相同的ParentalKey结构。

我正在尝试创建包含下拉项的菜单。因此,顶部菜单中有可订购的项目(如图像教程中的项目)。然后,这些项目中的每一个都可以在下拉列表中包含项目。这些物品也可以订购。所以,我需要一个订单中的一个订单,这个订单看起来很有效,但有一个奇怪的副作用。你把它整理好了吗?@ladrua没有。我只是试着解决它。你是如何解决它的?
@register_snippet
class Submenu(ClusterableModel):
    text = models.CharField(max_length=255)
    subsite_url = models.CharField(max_length=255)

    panels = [
        FieldPanel('text'),
        FieldPanel('subsite_url'),
        InlinePanel('submenu_items', label="Submenu Items"),
    ]

    def __str__(self):
        return self.text

class SubmenuItem(ClusterableModel, Orderable):
    page = ParentalKey(Submenu, on_delete=models.CASCADE, related_name='submenu_items')

    menu_item = models.CharField(blank=True, max_length=250)
    internal_url = models.CharField(blank=True, max_length=250)

    panels = [
        FieldPanel('menu_item'),
        FieldPanel('internal_url'),
        InlinePanel('dropdown_items', label="Dropdown Items"),
    ]    

class DropdownItem(Orderable):
    page = ParentalKey(SubmenuItem, on_delete=models.CASCADE, related_name='dropdown_items')

    menu_item = models.CharField(blank=True, max_length=250)
    internal_url = models.CharField(blank=True, max_length=250)

    panels = [
        FieldPanel('menu_item'),
        FieldPanel('internal_url'),
    ]