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)
要以您想要的方式在页面上查看它们,可能需要更改所使用的小部件
您还必须参考页面上的所有模型