Я использую django для создания веб-приложения и пытаюсь научиться делать запросы.
Я уже подключил свою базу данных SQLServer к django, а из студии управления SQL добавила информацию для 3 таблиц, которыеУ меня есть.Затем я запустил python manage.py inspectdb
, скопировал результаты в мой blog.models.py
и поместил python manage.py makemigrations
, а затем migrate
Однако, когда я открываю оболочку python через python manage.py shell
, импортирую модели и создаю`model.objects.all (), результат следующий:
<QuerySet [<Usuario: Usuario object (1)>, <Usuario: Usuario object (2)>]>
Django определяет, что у меня создано 2 объекта, но всякий раз, когда я пытаюсь получить конкретную информацию от одного из них, он показывает следующее:
>>> Usuario.objects.all()
<QuerySet [<Usuario: Usuario object (1)>, <Usuario: Usuario object (2)>]>
>>> user= Usuario.objects.all()
>>> user[0]
<Usuario: Usuario object (1)>
>>> user[0].ID_Usuario
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'Usuario' object has no attribute 'ID_Usuario'
>>>
Это информация, которую я вставил через SQL Management studio
INSERT INTO Usuario(ID_Usuario,Nombre,Apellido,Edad,Email,Password,ID_Cargo,ID_Rol)
VALUES(1,'Pepe','Arana',36,'pepe@hotmail.com','pass',1,1),
(2,'Roquito','Velarde',40,'roquito@hotmail.com','pass',2,1)
Почему django не распознает атрибуты, а распознает факт создания объекта?
Спасибо
РЕДАКТИРОВАТЬ: Это модели в файле blog.model.py
class Cargo(models.Model):
id_cargo = models.IntegerField(db_column='ID_Cargo', primary_key=True) # Field name made lowercase.
nombre = models.CharField(db_column='Nombre', max_length=100, blank=True, null=True) # Field name made lowercase.
descripcion = models.CharField(db_column='Descripcion', max_length=100, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Cargo'
class Rol(models.Model):
id_rol = models.IntegerField(db_column='ID_Rol', primary_key=True) # Field name made lowercase.
nombre = models.CharField(db_column='Nombre', max_length=100, blank=True, null=True) # Field name made lowercase.
descripcion = models.CharField(db_column='Descripcion', max_length=100, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Rol'
class Usuario(models.Model):
id_usuario = models.IntegerField(db_column='ID_Usuario', primary_key=True) # Field name made lowercase.
nombre = models.CharField(db_column='Nombre', max_length=100, blank=True, null=True) # Field name made lowercase.
apellido = models.CharField(db_column='Apellido', max_length=100, blank=True, null=True) # Field name made lowercase.
edad = models.IntegerField(db_column='Edad', blank=True, null=True) # Field name made lowercase.
email = models.CharField(db_column='Email', max_length=100, blank=True, null=True) # Field name made lowercase.
password = models.CharField(db_column='Password', max_length=100, blank=True, null=True) # Field name made lowercase.
id_cargo = models.ForeignKey(Cargo, models.DO_NOTHING, db_column='ID_Cargo', blank=True, null=True) # Field name made lowercase.
id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='ID_Rol', blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Usuario'