#python #django
#python #django
Вопрос:
То, что я пытаюсь сделать, это получить сохраненное значение из моделей в виде строки. Я пробовал этот способ:
class ExternalKeys(models.Model):
public = models.CharField(max_length=80, blank=True, null=True)
secret = models.CharField(max_length=80, blank=True, null=True)
webhook_secret = models.CharField(max_length=80, blank=True, null=True)
и вызвал его в представлениях, подобных этому stripe.api_key = ExternalKeys.objects.first().public
,
но это не работает.
Однако, если я поступлю таким образом, он выведет правильное значение в шаблон:
def get_public_key(request):
public = ExternalKeys.objects.first().public
return render(request, 'templat.html', {'public': public})
Как я могу получить это значение как sting в представлениях?
Комментарии:
1. Что именно не работает? Обратите внимание, что
.first()
это не означает, что первый сохраненный объект. Без.order_by(..)
,.first()
может возвращать любую запись.2. несмотря на то, что запись сохранена в базе данных, она выдает ошибку «django.db.utils. ProgrammingError: отношение «client_apps_externalkeys» не существует СТРОКА 1: … «client_apps_externalkeys».» webhook_secret» ИЗ «client_ap…
3. тогда вы либо неправильно выполнили миграцию, либо обращаетесь к неправильной базе данных (при использовании нескольких баз данных).
4. Мне интересно, как это происходит, потому что, как я уже сказал, я вижу, что он сохранен в БД и может быть извлечен в шаблонах, но если я вызываю stripe.api_key = ExternalKeys.objects.first().public , он выдает эту ошибку. Даже если я заменю модель ExternalKey любой другой рабочей моделью, она также выдает ту же ошибку. Я использую postgres db и схемы арендаторов django