Решил использовать Django для одного небольшого проекта, с этим фреймворком столкнулся впервые.
Суть вопроса в том, что у меня не получается получить данные из БД в соответствии с документацией.
models.py
from django.db import models
from django.contrib.auth.models import User
class Number(models.Model):
number = models.BigIntegerField(unique=True)
description = models.CharField(max_length=255)
account_id = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
def __str__(self):
return '%s' % self.number
views.py
from django.http import HttpResponse, HttpResponseRedirect
from .models import Number
def index(request):
from django.contrib.auth import get_user
user = get_user(request)
numbers = Number.objects.all()
if user.is_authenticated:
return HttpResponse(numbers)
else:
return HttpResponseRedirect('/login')
Непосредственный запрос в базу возвращает всё корректно:
select id,number from clients_number;
+----+---------+
| id | number |
+----+---------+
| 2 | 2193333 |
| 3 | 2193336 |
+----+---------+
Еще проблема в том, что IDE в упор не видит атрибута objects к модели, то есть в строке Number.objects атрибут objects подсвечивается как несуществующий. Всё делал в соответствии с документацией.
Python 3.6
Django 3.2.6