У меня проблема, когда я получаю значение из поля hstore. Ситуация примерно такая:
модель:
class Model(models.Model):
hstoreField = HStoreField()
тестовых случаев:
def test_case_1(self):
new_model = Model.objects.create(
hstoreField = {
'key1': 'value1',
'key2': 'value2'
}
)
self.assertEqual(new_model.subscription['key1'], 'value1')
self.assertEqual(new_model.subscription['key2'], 'value2')
def test_case_2(self):
Model.objects.create(
hstoreField = {
'key1': 'value1',
'key2': 'value2'
}
)
new_model = Model.objects.get( id = 1 ) // assume it works
self.assertEqual(new_model.hstoreField['key1'], 'value1')
self.assertEqual(new_model.hstoreField['key2'], 'value2')
Когда я запускаю эти тестовые примеры, первый проходит, но второй не проходит и выдается ошибка: TypeError: string indices must be integers
. Проверка значения hstoreField - это строка, и она должна быть вписывающей.
Ошибка возникает только в тестах, в реальном коде оба случая работают. Можете ли вы помочь мне, ребята?