У меня есть следующие модели:
# Group for Key/Value pairs
class Group(models.Model):
name = models.TextField(unique=True)
def __unicode__(self):
return self.name
class Meta:
verbose_name = 'Group'
verbose_name_plural = 'Groups'
# Key is the key/name for a Value
class Key(models.Model):
name = models.TextField(unique=True)
def __unicode__(self):
return self.name
class Meta:
verbose_name = 'Key'
verbose_name_plural = 'Keys'
# Value is the value/content of a key
class Value(models.Model):
value = models.TextField()
def __unicode__(self):
return '%s' % self.value
class Meta:
verbose_name = 'Value'
verbose_name_plural = 'Values'
class Key_Value(models.Model):
group = models.ForeignKey(Group)
key = models.ForeignKey(Key)
value = models.ForeignKey(Value)
def __unicode__(self):
return '%s = %s' % (self.key.name, self.value.value)
class Meta:
verbose_name = 'Key/Value Paar'
verbose_name_plural = 'Key/Value Paare'
Now I pass the form to the template:
def exampleview(request):
key_value_form = Key_Value_Form(request.POST)
return render_to_response(
'edit.html', {
'key_value_form': key_value_form,
})
Теперь давайте посмотрим на возможные данные
KEY/VALUE PARIRS:
key = TEST 1
value = TEST 1
group = TESTGROUP 1
key = TEST 2
value = TEST 2
group = TESTGROUP 2
Теперь я изменил виджеты по умолчанию для записей таблицы ключей / значений для выбора виджетов.
Вот что я хочу сделать:
SELECT GROUP [+] [-]
--> [Now choose Key/Value pair belonging to group] [+] [-]
в начале вы всегда получаете два выбора: один для группы и один для пары ключ / значение.если вы нажмете + на ГРУППЕ, должна появиться новая кнопка выбора группы вместе с выбором пары КЛЮЧ / Значение, если вы нажмете + на кнопке Выбор / значение, появится новое окно выбора ключа / значения.
У меня две проблемы:
ОДИН: Я не знаю, как должна выглядеть проверка в шаблоне, и ДВА: Как я могу реализовать эти кнопки + -
Любая помощьценится .Было бы здорово, если бы это было возможно без javascript, но у меня не очень большие надежды в этом направлении