Надо реализовать возможность добавления пользователями дополнительных свойств к имеющимся объектам (длина, ширина, вес, интерфейс, цвет - все что угодно) Какими эти свойства будут, сколько их будет всего и что они будут содержать в качестве значений - не известно. Думаю реализовать тремя моделями, примерно так:
class Item(models.Model):
name = models.CharField(max_length=100)
class Property(models.Model):
name = models.CharField(max_length=100)
class ItemProperties(models.Model):
item = models.ForeignKey(Item)
property = models.ForeignKey(Property)
value = models.CharField(max_length=100)
Нормально это? Или есть более удобные(готовые) решения? Не очень представляю, как затем работать с value - если там могут содержаться самые разнообразные данные - числа, строки, геокоординаты - может ввести еще PropertyType для определения типа свойства?