【问题标题】:Django - create child modelsDjango - 创建子模型
【发布时间】:2018-12-29 21:43:22
【问题描述】:

假设模型名称为BHA,我填充此字段。在 Django-Admin 主页中,我将有一个如下所示的选项卡:

MY_APP_NAME

BHA List
Other Model 1
Other Model 2

单击 BHA 列表后,我将导航到包含已填充 BHA 列表的页面:

BHA 列表

BHA_1
BHA_2
BHA_3
BHA_4

每个 BHA 都需要一个单独的表,其中包含自己的信息。所以所有BHA的(BHA_1BHA_2BHA_3BHA_4)都将具有完全相同的子字段Bit dataSensor DataComponent Data。这些子字段中的每一个也将有自己的子字段。我应该如何设计我的models.py 来完成这项工作?谁能提供任何启用此功能的示例代码集?

到目前为止,我只知道一个真正基本的models.py 结构,如下所示:

class SomeModel(models.Model):
    field_1 = models.CharField(max_length=100, primary_key=True)
    field_2 = models.CharField(max_length=100)
    field_3 = models.CharField(max_length=100)

【问题讨论】:

    标签: python django django-models foreign-keys


    【解决方案1】:

    从技术上讲,这些不是子类。他们没有遗产。如果我理解正确,您将不得不使用ForeignKey

    BHA(models.Model):
       bha_name = models.CharField(params)
    
    BitData(models.Model):
        bha = models.ForeignKey(params with reference to BHA)
        model_field = models.CharField(params)
    
    SensorData(models.Model):
        bha = models.ForeignKey(params with reference to BHA)
        model_field = models.CharField(params)
    

    要以您希望的方式在页面上查看它们可能需要更改所使用的小部件。

    您还必须在页面上引用您的所有模型。 Multiple Models Form

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多