From 68efd595b727ec28065ba1399734a7a56ca3b306 Mon Sep 17 00:00:00 2001 From: Timotheus Pokorra Date: Tue, 11 May 2021 09:53:52 +0200 Subject: [PATCH] do not run forms code during migration database does not exist yet --- apps/transactions/forms.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/transactions/forms.py b/apps/transactions/forms.py index 3da3c0a..4c766ba 100644 --- a/apps/transactions/forms.py +++ b/apps/transactions/forms.py @@ -1,4 +1,5 @@ from django import forms +import sys import datetime from apps.transactions.models import Transaction from apps.rates.models import ExchangeRate @@ -16,15 +17,16 @@ class TransactionForm(forms.ModelForm): model = Transaction fields = "__all__" - exchangerates = ExchangeRate.objects.filter(datetime_valid__gt = datetime.datetime.today() - datetime.timedelta(days=7)) - crypto_currencies = [(x, x) for x in sorted({ex.crypto_currency for ex in exchangerates})] - fiat_currencies = [(x, x) for x in sorted({ex.fiat_currency for ex in exchangerates})] - - widgets = { - 'fiat_currency': forms.Select(choices = fiat_currencies), - 'crypto_currency': forms.Select(choices = crypto_currencies), - } + # do not run this code in initial migration, because the database has not been built yet + if not "migrate" in sys.argv: + exchangerates = ExchangeRate.objects.filter(datetime_valid__gt = datetime.datetime.today() - datetime.timedelta(days=7)) + crypto_currencies = [(x, x) for x in sorted({ex.crypto_currency for ex in exchangerates})] + fiat_currencies = [(x, x) for x in sorted({ex.fiat_currency for ex in exchangerates})] + widgets = { + 'fiat_currency': forms.Select(choices = fiat_currencies), + 'crypto_currency': forms.Select(choices = crypto_currencies), + } class ImportForm(forms.Form): api_key = forms.CharField(label='API Key', widget=forms.PasswordInput, max_length=100)