Django如何创建包含自己类型集合的模型?

2024-04-26 13:13:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建的模型中的一个字段是它自己类型的实例列表。在django我该怎么做?我找不到任何关于怎么做的文档。。你知道吗

这类似于我所说的,但不起作用,因为组件类还没有定义(可能还有其他原因)。你知道吗

class Component(models.Model):
    name = models.CharField()
    description = models.CharField()
    status_ok = models.BooleanField()
    subcomponents = models.ForeignKey(Component)

一个普通的类,简要地演示了以下概念:

class Component:
    def __init__(self, name, description, status_ok, *subcomponents):
        self.name = name
        self.description = description
        self.status_ok = status_ok
        self.subcomponents = []
        for subcomponent in subcomponents:
            if isinstance(subcomponent, Component):
                self.subcomponents.append(subcomponent)
            else:
                raise TypeError(subcomponent)

Tags: 实例name模型self类型列表modelsstatus
1条回答
网友
1楼 · 发布于 2024-04-26 13:13:08

要引用同一个模型,请使用普通的Python语法self,但作为字符串

Class Component(models.Model):
    name = models.CharField()
    description = models.CharField()
    status_ok = models.BooleanField()
    subcomponents = models.ForeignKey('self')

相关问题 更多 >