База данных PostgreSQL не отображает данные на сайте Django
Я преобразовал свою БД SQLite в БД PostgreSQL. Я сделал все миграции и коллекционирование, и в моем скрипте python на моем компьютере windows я могу получить доступ к БД и выполнять команды. Моя проблема в том, что я не вижу все эти данные на моем сайте... Как будто сервер и Python разговаривают друг с другом, но не с сайтом.
Вот несколько фрагментов кода-
PC Python Script
def get_query(group_name , heb_sale_rent ,heb_street, heb_city , heb_rooms , heb_size , heb_floor , heb_porch , heb_storage , heb_mamad , heb_parking , heb_elevator , heb_phone , heb_price):
conn = psycopg2.connect(database='test', host='192.168.72.130', port='5432', user='user_sql', password='user_sql')
cur = conn.cursor()
cur.execute("SELECT * FROM to_excel")
query = cur.fetchall()
если я выполню эту команду, я смогу увидеть результаты, которые я добавил в DB-
Все строки выше я добавил с помощью команды INSERT следующим образом -
elif query == []:
cur.execute("INSERT INTO to_excel (id,group_name,sale_rent ,street, city , rooms , size , floor , porch , storage , mamad , parking , elevator , phone , price , date) VALUES (%s,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s ,%s, %s)", ('1', group_name , heb_sale_rent , heb_street, heb_city , heb_rooms , heb_size , heb_floor , heb_porch , heb_storage , heb_mamad , heb_parking , heb_elevator , heb_phone , heb_price , USER_DATE))
user_date_str = USER_DATE
user_date = datetime.strptime(user_date_str, '%Y-%m-%d').date()
conn.commit()
conn.close()
(пока все хорошо)
На моем сервере Ubuntu
#in settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'test',
'USER': 'user_sql',
'PASSWORD': 'user_sql',
'HOST': 'localhost',
'PORT': '5432',
}
}
Это мои взгляды.py-
from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from django.urls import reverse
from .models import Groups
from datetime import datetime
def index(request):
group_names = Groups.objects.all().values()
group_count = Groups.objects.count()
index_list = [i+1 for i in range(group_count)]
combined_list = zip(group_names, index_list)
template = loader.get_template('index.html')
context = {
'group_data': combined_list,
}
return HttpResponse(template.render(context, request))
def add(request):
template = loader.get_template('add.html')
return HttpResponse(template.render({}, request))
def addrecord(request):
group = request.POST['group']
heb_street = 'רחוב, ברובע'
heb_sale_rent = 'מכירה, השכרה'
heb_city = 'שכונת, בסמטאות'
heb_rooms = 'חדרים'
heb_size = 'מ״ר, מ"ר'
heb_floor = 'קומה'
heb_porch = 'מרפסת'
heb_storage = 'מחסן'
heb_mamad = 'ממד, ממ״ד'
heb_parking = 'חניה, חנייה, חניית, חנית'
heb_elevator = 'מעלית'
heb_price = 'מחיר, מבקשים'
heb_phone = '054, 052, 053'
date = datetime.now().strftime('%d %b %Y')
group = Groups(group_name=group, sale_rent=heb_sale_rent, street=heb_street, city=heb_city, rooms=heb_rooms, size=heb_size, floor=heb_floor, elevator=heb_elevator, porch=heb_porch, storage=heb_storage, mamad=heb_mamad, parking=heb_parking, price=heb_price, phone=heb_phone, user_date=date)
group.save()
return HttpResponseRedirect(reverse('index'))
def delete(request, id):
group = Groups.objects.get(id=id)
group.delete()
return HttpResponseRedirect(reverse('index'))
def update(request, id):
group = Groups.objects.get(id=id)
template = loader.get_template('update.html')
context = {
'group': group,
}
return HttpResponse(template.render(context, request))
def updaterecord(request, id):
group_name = request.POST['group']
sale_rent = request.POST['sale_rent']
street = request.POST['street']
city = request.POST['city']
rooms = request.POST['rooms']
size = request.POST['size']
floor = request.POST['floor']
porch = request.POST['porch']
storage = request.POST['storage']
mamad = request.POST['mamad']
elevator = request.POST['elevator']
parking = request.POST['parking']
price= request.POST['price']
phone= request.POST['phone']
date = request.POST['user_date']
group = Groups.objects.get(id=id)
group.group_name = group_name
group.sale_rent = sale_rent
group.street = street
group.city = city
group.rooms = rooms
group.size = size
group.floor = floor
group.porch = porch
group.storage = storage
group.mamad = mamad
group.elevator = elevator
group.parking = parking
group.price = price
group.phone = phone
group.user_date = date
group.save()
return HttpResponseRedirect(reverse('index'))
Это мой models.py-
from django.db import models
class Groups(models.Model):
group_name = models.TextField()
sale_rent = models.TextField()
street = models.TextField()
city = models.TextField()
rooms = models.TextField()
size = models.TextField()
floor = models.TextField()
porch = models.TextField()
storage = models.TextField()
mamad = models.TextField()
parking = models.TextField()
elevator = models.TextField()
phone = models.TextField()
price = models.TextField()
user_date = models.TextField()
Но на сайте - nada-
Где все данные, которые Python вывел в запросе? Что я делаю не так? Помогите, пожалуйста!
P.S- Я не знаю, имеет ли это какое-то отношение, но когда я запускаю
sudo -u postgres psql
и затем сделать \dt, я не вижу никаких таблиц.
Итак, после того, как я чуть не сошел с ума, я нашел проблему. Похоже, что сайт использовал таблицу в моей БД под названием - to_excel_toexcel. "to_excel" - это таблица, которую я создал в БД, а "toexcel" - это имя моей модели!
Я настроил Python на запись в новую таблицу, и все работает отлично!