Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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 Django-创建子模型_Python_Django_Django Models_Foreign Keys - Fatal编程技术网

Python Django-创建子模型

Python Django-创建子模型,python,django,django-models,foreign-keys,Python,Django,Django Models,Foreign Keys,假设模型名为BHA,我填充此字段。在Django管理员主页中,我将有一个如下所示的选项卡: 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) 我的应用程序名称 BHA

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

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)
我的应用程序名称

BHA List
Other Model 1
Other Model 2
单击BHA列表后,我将导航到包含填充BHA列表的页面:

BHA列表

BHA_1
BHA_2
BHA_3
BHA_4
每个BHA都需要一个单独的表,该表有自己的信息。因此,所有
BHA
BHA\u 1
BHA\u 2
BHA\u 3
BHA\u 4
)将具有完全相同的子字段
位数据
传感器数据
组件数据
。每个子字段也都有自己的子字段。我应该如何设计我的
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)

从技术上讲,这些不是儿童班。他们没有继承权。如果我理解正确,您必须使用
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)
要以您想要的方式在页面上查看它们,可能需要更改所使用的小部件

您还必须参考页面上的所有模型