【发布时间】:2014-12-19 17:41:46
【问题描述】:
对于一些背景知识,我在 Django webapp 中有两个主要模型。
第一个是包含产品测试特定阶段的模型:
class TestStage(models.Model):
name = models.CharField(max_length=10)
order = models.IntegerField()
def __unicode__(self):
return self.name
class Meta:
ordering = ['order']
从此模型创建的所有测试阶段实例都将具有与其主键相关联的集合名称。
第二个是定义产品的模型。每个产品都有自己执行的测试阶段列表,但并非所有测试插入都用于所有产品:
class Product(models.Model):
name = models.CharField(max_length=30)
# more fields...
test_stages = models.TextField()
测试阶段存储为TextField 中的列表,各个数据存储为字典。目前,这运行良好,但现在我需要能够为每个测试插入添加自定义产品特定标签。
例如:
Product1 和 Product2 都有 TestStage1,但 Product1 调用它的版本 X,Product2 调用它的版本 Y。
它们都有 TestStage1,但有自己特定的命名约定。
我不确定如何实现,也不确定是使用字段标签还是使用 Meta 类来实现...
【问题讨论】:
-
使用多线程和直通模型会简化场景,为什么要序列化字典?
-
我不是 100% 确定。这是我最初没有编写的遗留代码。
标签: python django django-models