【发布时间】:2023-01-20 20:59:27
【问题描述】:
免责声明:我可以随时清除数据库。因此,在回答这个问题时,请不要关心迁移之类的事情。
想象一下我有一个具有多个值的模型:
class Compound(models.Model):
color = models.CharField(max_length=20, blank=True, default="")
brand = models.CharField(max_length=200, blank=True, default="")
temperature = models.FloatField(null=True, blank=True)
melting_temp = models.FloatField(null=True, blank=True)
# more (~20) especially numeric values as model fields
现在我想添加评论待储存对于该模型的每个值.例如,我想在temperature 模型字段中添加注释“measured in winter”。
最好的方法是什么?
我的头脑风暴得出了:
- 手动添加 20 个模型字段,例如
temperature_comment = ...,但这听起来不是很干 - 添加一个大的 json 字段来存储每条评论。但是如何创建一个带有这样一个 json 字段的表单呢?因为我想为相关值分隔每个输入字段。我可能不得不使用我想避免的 javascript。
- 为每个值添加一个名为
Value的模型,并通过OneToOneFields将它们连接到Compound。但是我如何为Compound创建一个表单?因为我想使用一种形式创建一个Compound。我不想自己创建每个Value。此外,访问和使用Compound模型中的值也不像以前那么容易。我想对于经常出现的用例来说,这是一个相当抽象的问题。我不知道为什么我没有找到有关如何实现该目标的资源。
【问题讨论】:
标签: python django django-models django-forms