Я использую Python3.6 и django 2.0.2 и разрабатываю веб-сайт для поиска пользователей в Pycharm. Я хочу использовать устаревшую базу данных с именем «Пользователь», в которой данные автоматически сохраняются из другого источника. Я не буду изменять базу данных во время взаимодействия с веб-сайтом. Во-первых, я настраиваю базу данных в settings.py следующим образом:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'legacy_db': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'name',
'USER': 'user',
'PASSWORD': 'pass',
'HOST': 'host',
'PORT': '3306',
}
}
Затем я использую inspect db для создания файла модели, команда выглядит следующим образом:
python manage.py inspectdb --database legacy_db > models.py
и сгенерированный файл models.py выглядит следующим образом:
from django.db import models
class User(models.Model):
username = models.CharField(max_length=16)
email = models.CharField(max_length=255, blank=True, null=True)
password = models.CharField(max_length=32)
create_time = models.DateTimeField(blank=True, null=True)
id = models.IntegerField(primary_key=True)
def __str__(self):
return self.username
class Meta:
managed = False
db_table = 'user'
После этого я использовал имя приложения makemigrations и имя приложения migrate для переноса базы данных.
Затем я вызываю модель в моем views.py следующим образом:
all = User.objects.all()
Я не знаю, как получить трассировку, я могу видеть только информацию об ошибке в режиме отладки, ошибка отображается как
all: unable to get repr for <class 'django.db.models.query.QuerySet'>
рядом с кодом. Я действительно искал в Google и StackOverflow, но мне не повезло.
Я новичок в django, и это мой первый раз, когда я сам создаю сайт django (я прошел шаги по примеру сайта (опросы) в руководствах по django). Так что любая помощь будет очень признательна.