Я надеюсь построить модель для одной таблицы, в которой будут размещаться различные типы «статей» (ради аргумента).
Каждая статья будет иметь НАИБОЛЕЕ общие поля (например, заголовок, дата и т. Д.), Но есть случаи, когда некоторые типы статей (вне моего контроля) имеют немного разные требования к полям и соответствующие правила проверки.Ни одно поле никогда не будет содержать особенно большое количество данных (~ 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 для обработки проверки при добавлении новых типов статей, но я стараюсь избегать использования разных таблиц для разных типов статей.1009 * Есть ли общепринятый способ справиться с подобной ситуацией или это в значительной степени субъективно?Очевидно, что XML / JSON добавляет немного печальных издержек.
Спасибо.