[Django] - baza danych sqlite

0

Witam. Jakiś czas temu przestawiłem się na bazę PostgreSQL i na lokalym serwerze testowałem sobie aplikację przy wykorzystaniu tej właśnie bazy (system Windows10). Chciałem zmodyfikować projekt na innym komputerze i za Chiny nie mogę zmusić aplikacji do działania. Myślałem, że uda mi się zamienić w settings.py bazę z powrotem na sqlite, wykonam migrację bazy i uda się uruchomić aplikację. Niestety przy użyciu jakiejkolwiek komendy

python manage.py

otrzymuję błąd:

django.db.utils.OperationalError: no such table: constance_config

Ma ktoś jakiś pomysł jak najprościej zmusić aplikację do działania na odmiennym środowisku przy użyciu bazy sqlite? Chciałem wykorzystac sqlite żeby nie musieć bawić się w ustawianie PostgreSQL lokalnie na innym komputerze.

0

Czy w settingsach w INSTALLED_APPS masz dodanne 'constance' ? Wiem że pisałeś że żadna komeda nie pali, ale spróbuj makemigrations/migrate, lub samo migrate. Możesz spróbować odaplić bez constance jeśli masz w apce i zobaczyć czy zaskoczy

0

W settingsach wszystko mam, próbowałem wszelakie komendy. Przy każdym python manage.py wywala ten sam błąd... Próbowałem również wywalić wszystkie migracje, skasować bazę danych - bez rezultatu.

0

Pokaż plik ustawień (settings.py)

0

Rozumiem, że używasz tej libki constance ? Masz ją też zainstalowaną w środowisku ? Bo to chyba ona coś psuje, chyba  żę jej nie masz i się mylę ?

0

Pokaż plik ustawień (settings.py)

Poniżej fragmenty:

INSTALLED_APPS = [
    'admin_interface',
    'django.contrib.auth',
    'mainapp.apps.MainappConfig',
    'colorfield',
    'flat_responsive',
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_extensions',
    'smart_selects',
    'activatable_model',
    'bootstrap3',
    'mainapp.apps.ConstanceConfig',
    'constance.backends.database',
    'kronos',
    'ckeditor',
    'django_admin_listfilter_dropdown',
    'captcha',
    'analytical',
]
CONSTANCE_CONFIG = OrderedDict([
    ('SITE_TITLE', ('Katalog', 'Tytuł katalogu', str)),
    ('SITE_KEYWORDS', ('katalog stron, najlepszy katalog stron, katalogus, \
            katalog seo', 'Meta keywords katalogu', str)),
    ('SITE_DESCRIPTION', ('To jest najlepszy skrypt katalogu stron jaki \
        kiedykolwiek powstał', 'Meta description katalogu', str)),
    ('TITLE_LENGTH_MAX', (50, 'Maksymalna ilość znaków tytułu strony', int)),
    ('TITLE_LENGTH_MIN', (5, 'Minimalna ilość znaków tytułu strony', int)),
    ('KEYWORDS_LENGTH_MAX', (100, 'Maksymalna ilość znaków słów kluczowych', int)),
    ('KEYWORDS_LENGTH_MIN', (20, 'Minimalna ilość znaków słów kluczowych', int)),
    ('DESCRIPTION_LENGTH_MAX', (250, 'Maksymalna ilość znaków opisu strony', int)),
    ('DESCRIPTION_LENGTH_MIN', (100, 'Minimalna ilość znaków opisu strony', int)),
    ('BOX_PREMIUM', ('tak', 'Czy wyświetlac okienko reklamowe', 'yes_no')),
    ('SHRINKTHEWEB_KEY', ('', 'Access Key serwisu ShrinkTheWeb', str)),
    ('CHECK_SITES', ('tak', 'Czy włączyć sprawdzanie poprawności wczytywania stron', 'yes_no')),
    ('EVIL_WORDS', ('sex, seks, anal, viagra', 'Podejrzane słowa', str)),
    ('EVIL_WORDS_COUNT', (4, 'Minimalna ilość podejrzanych słów kluczowych', int)),
    ('DELETE_SITES', ('nie', 'Czy automatycznie usuwać niedziałające wpisy?', 'yes_no')),
    ('WPISY_DO_MODERACJI', ('tak', 'Czy wysyłać codziennie maila o ilości wpisów do moderacji', 'yes_no')),
    ('ILOSC_WPISOW', (5, 'Wysyłka maila o ilości wpisów do moderacji po przekroczeniu liczby wpisów', int)),
    ('EDYTOR_WYSWIG', ('tak', 'Czy używać edytowa WYSWIG w formularzu dodawania strony?', 'yes_no')),
    ('DESC_LINKS', (0, 'Ile linków można wstawić do opisu strony', int)),
    ('DESC', ('Opis katalogu', 'Opis/wprowadzenie katalogu na stronie głównej', 'wyswig')),
    ('EMAIL_TEMPLATES', ('', 'Wzory maila o odrzuceniu wpisu', str)),
    ('CAPTCHA', ('tak', 'Czy włączyć zabezpieczenie CAPTCHA w formularzu kontaktowym', 'yes_no')),
])

CONSTANCE_CONFIG_FIELDSETS = {
    'Opcje generalne': ('DESC', 'SITE_TITLE', 'SITE_KEYWORDS', 'SITE_DESCRIPTION', 'BOX_PREMIUM',
                        'SHRINKTHEWEB_KEY', 'CAPTCHA'),
    'Opcje dodawania wpisów': ('TITLE_LENGTH_MAX', 'TITLE_LENGTH_MIN',
                               'KEYWORDS_LENGTH_MAX', 'KEYWORDS_LENGTH_MIN',
                               'DESCRIPTION_LENGTH_MAX', 'DESCRIPTION_LENGTH_MIN', 'EDYTOR_WYSWIG',
                               'DESC_LINKS', 'EMAIL_TEMPLATES'),
    'Opcje zadań cyklicznych': ('CHECK_SITES', 'EVIL_WORDS', 'EVIL_WORDS_COUNT',
                                'DELETE_SITES', 'WPISY_DO_MODERACJI', 'ILOSC_WPISOW')
}

CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'

CONSTANCE_ADDITIONAL_FIELDS = {
    'yes_no': ['django.forms.fields.ChoiceField', {
        'widget': 'django.forms.Select',
        'choices': (("tak", "Tak"), ("nie", "Nie"),)
    }],
    'wyswig': ['django.forms.fields.CharField', {
        'widget': "ckeditor.widgets.CKEditorWidget",
    }],
}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Tu jeszcze apps.py:

from django.apps import AppConfig


class MainappConfig(AppConfig):
    name = 'mainapp'
    verbose_name = "Zarządzanie"


class ConstanceConfig(AppConfig):
    name = 'constance'
    verbose_name = 'Ustawienia'

To chyba wszystko co może być związane z problemem.

Brunatny Mleczarz napisał(a):

Rozumiem, że używasz tej libki constance ? Masz ją też zainstalowaną w środowisku ? Bo to chyba ona coś psuje, chyba  żę jej nie masz i się mylę ?

Mam wszystko zainstalowane w środowisku.

0

Spróbuj odpalić bez constance, będę miał chwilę to spróbuję pomóc coś więcej.

0
Rado95 napisał(a):

Spróbuj odpalić bez constance, będę miał chwilę to spróbuję pomóc coś więcej.

Nie odpalę bez constance bo w całej aplikacji mam za dużo odniesień do tego modułu...

0

Może zajrzyj do dokumentacji tej libki, i sprawdz czy masz ok, moze nie zrobiles manage.py databse dla tej libki skoro na nowym srodowisku to instalujesz. Nastepnym razem odezwe sie juz z konkretnym rozwianiem

@Edit hmm a jakbyśmy zakomebtowali app config do constnce i w settingas z nazwa domysla go zainstalowali, spróbuje w wolnej chwili sprawdzic to na zywym organizmie. Sorry za oczywsite podpowiedzi.:)

@edit2

from django.apps import AppConfig
from constance.apps import ConstanceConfig

class MainappConfig(AppConfig):
    name = 'mainapp'
    verbose_name = "Zarządzanie"

class ConstanceConfig(ConstanceConfig):
    name = 'constance'
    verbose_name = 'Ustawienia'

1 użytkowników online, w tym zalogowanych: 0, gości: 1