【发布时间】:2019-04-23 01:55:13
【问题描述】:
SOS - 帮助: 我是 django 的新手(我来自 PHP(Laravel)): 我需要对数据进行建模: 我有相同的模型,它们被命名为 Sources like(IOT,Sensosr,Totens,app 等)每个源都有你的特殊性(连接参数)和相似性,然后我有扫描,扫描使用源信息来执行(存储有关执行的信息)并在主机上制作活动。
我需要通过扫描将活动链接到源,以便在显示活动时显示有关主机、扫描和源的信息。 我学习抽象,但不是很清楚!
@dirkgroten 感谢您抽出宝贵时间,我将其编辑得更准确
看看这个模型:
code
class Sensor (models.Model):
creation_date = models.DateTimeField(auto_now=True)
...fields
class Crawler (models.Model):
creation_date = models.DateTimeField(auto_now=True)
...fields
code
它们是我的 Sources Models ,数据活动来自哪里......
然后
code
class Scan (models.Model):
creation_date = models.DateTimeField(auto_now=True)
# Here I neet to link with a source, but source could be a Crawler, IOT, Sensor or API model
...fields
class Host (models.Model):
creation_date = models.DateTimeField(auto_now=True)
...fields
class Activities (models.Model):
creation_date = models.DateTimeField(auto_now=True)
host = models.ForeignKey('Host',on_delete='DELETE')
scan = models.ForeignKey('Scan',on_delete='DELETE')
code
当我列出显示活动时,我需要显示有关扫描及其来源的信息(来源) 像(Activity.Host 或 Activit.Scan.Source。) 在 PHP 中,我的 Scan 表有一个“源”标志和一个 ID 字段,所以我知道在哪个表中从源中获取数据。 我知道这不是正确的方法,所以我想使用 ORM 做得很好。 如果您能帮助我,我将不胜感激。
【问题讨论】:
-
请查看How to Ask 了解如何以适当的方式为 SO 提出您的问题。您需要向我们展示您正在尝试使用代码做什么,向我们展示您的初始模型。请更具体。
-
顺便说一句:谷歌“通过中间模型建立django关系”,你会发现很多东西。
-
@dirkgroten 感谢您抽出宝贵时间:
-
@dirkgroten 我重新提出我的问题!谢谢
-
您需要使用泛型关系,如 here 所述。有一个blog post as a good example。