Задача следующая.
Есть модель, допустим "Магазин". Есть редактируемый список свойтсв (модель "Свойства"). Каждое свойство может иметь как ограниченный набор значений (например: типы продаваемой продукции -- книги, фаллоимитаторы, овощи.), так и произвольное значение (кол-во этажей: 1,2,3,...). Надо сделать так, чтобы в админке джанги при добавлении/редактировании Магазинов можно было приделывать к объекту магазин разные атрибуты и их значения (выбирать селектом из ограниченного списка или вводить руками в инпут в случае неограниченного выбора значений).
Всю голову сломал.
Родил пока следующее:
[code] class Property(models.Model): name = models.CharField(u'Название свойства')
class PropertyValue(models.Model): property = models.ForeignKey(u'Свойство') value = models.CharField(u'Значение свойства')
class Shop(models.Model): name = models.CharField(u'Название магазина')
class ShopPropertyValue(models.Model): shop = models.ForeignKey(Shop, verbose_name = u'Магазин') property_value = models.ForeignKey(PropertyValue, blank = True, verbose_name = u'Значение свойства') explicit_value = models.CharField(u'Значение свойства')
[/code]
Соотв. не понимаю, как научить админку делать выбор при показе списка значений -- сначала выбираем Property, потом видим список значений у неё (PropertyValues where property=наша проперти). И потом при показе еще научить её смотреть в explicit_value, если property_value = 0.
Из самопальных вьюх со стороны морды я это сделать могу, а вот в админке не выходит..
Куда гуглить?