Django中的从属字段

Python学习者

我正在为Django应用程序设计模型,但是我还不太想办法解决问题。

我有3个模型。ServerModuleDevice

Server是可以在其上运行模块的服务器。Module在服务器上运行,并包含设备。

问题Devices在于名称始终是一个字段,但是属性可能会更改。

我考虑过只是JSON在属性中添加一个值,但是我不知道如何使用Django admin来做到这一点。

基本上,用户将输入设备的名称,并取决于设备所连接的模块,显示要填写的各种不同字段。

例如:

module rfm_ninjablock:
Device fields would be "name" and "code"

module LimitlessLED
Device fields would be "name", "controller", "group" and "LightID"

有没有简单的方法可以做到这一点,还是我做错了方法?

保罗·德雷珀

一种实现方法是制作第四个模型:DeviceAttribute

  • 每个设备都有一个名称,并且具有零个或多个DeviceAttribute

  • ADeviceAttribute有两个字段:keyvalue

另外,您可以使用建议的JSON,但无法对其进行查询或更新。这有点反模式。

更新:如果您有Devices的多个“类” ,则可以通过对模型进行子类化来实现类型安全,而不是具有任意属性。

几种方法可以做到这一点。我经常使用多表方法。

它创建了一个OneToOneFieldDeviceSubclassADevice之间,以及DeviceSubclassBDevice

您可以向添加特定字段DeviceSubclassA也可以向添加其他字段DeviceSubclassBcommonname属性在Device父模型上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

清除parsley js中的从属字段错误

来自分类Dev

清除parsley js中的从属字段错误

来自分类Dev

在AngularJS中的hide上重置从属字段的值

来自分类Dev

Django中多个从属用户的数据过滤问题

来自分类Dev

设置从属记录的属性时如何从上级记录的字段中获取值

来自分类Dev

类中的从属属性

来自分类Dev

Coq中的从属函数

来自分类Dev

Symfony形式的3个从属选择字段

来自分类Dev

从字段中获取Django字段值

来自分类Dev

如何仅让用户从属于他在django中的帐户的钱包转移资金?

来自分类Dev

Django Python中的搜索字段

来自分类Dev

sqlite中的Django hstore字段

来自分类Dev

Django模型中的DRY字段

来自分类Dev

在Django中强制模型字段

来自分类Dev

在Django的queryset中添加字段

来自分类Dev

Django 1.8中的限制字段

来自分类Dev

Django中的动态模型字段

来自分类Dev

Django模型中的字段分配

来自分类Dev

在Django中查询ManyToMany字段

来自分类Dev

在Django中过滤日期字段

来自分类Dev

url中的django模型字段

来自分类Dev

ASP.NET MVC是一对多关系合法的从属类中的两个外国字段

来自分类Dev

picocli:ArgGroup中的从属参数

来自分类Dev

在PHP中执行从属语句

来自分类Dev

列表中的从属实例

来自分类Dev

Django allauth中的Django订购字段

来自分类Dev

在django中隐藏表单中的模型字段

来自分类Dev

跨三个单独字段的Excel(从属)数据验证

来自分类Dev

C#从属性检索字段名称