【发布时间】:2010-07-06 08:46:26
【问题描述】:
我希望为包含不同类型“文章”的单个表格构建一个模型(为了论证)。
每篇文章都有最常见的字段(例如标题、日期等),但在某些情况下,某些文章类型(我无法控制)的字段要求和各自的验证规则略有不同。任何字段都不会保存特别大量的数据(最大约 100 个字符)。
目前我正在考虑一个模型,它定义所有常见字段,然后为任何异常字段提供一个文本字段,可以在 XML/JSON 中详细说明:
class Article(models.Model):
owner = models.ForeignKey('User')
title = models.CharField(max_length=20)
published = models.BooleanField()
extra = model.TextField() # XML/JSON here for any unusual fields
created = models.DateField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True, auto_now_add=True)
# ... etc.
我会创建 django 表单类来处理添加新文章类型时的验证,但我试图避免为不同的文章类型使用不同的表。
是否有一种普遍接受的方式来处理这种情况,还是很大程度上是主观的?显然 XML/JSON 增加了一些不幸的开销。
谢谢。
【问题讨论】:
标签: xml json django-models