Python Django Shell AttributeError: у объекта 'Article' нет атрибута 'title'
Я новичок в Джанго, пожалуйста, помогите выяснить эту проблему. Я пытаюсь получить привет из БД, но он не работает. Посмотрите в моей Windows Power Shell, как администрация Windows. У меня есть приложение app в моем проекте django, и там я изменил файл моделей моделей и создал базовый класс Article с заголовком, датой и полем тела. Также имеет функцию ул
Модель статьи ниже
from django.db import models
# Create your models here.
# A MODEL IS REPRESENTED BY CLASS
class Article(models.Model):
title : models.CharField(max_length=100)
slug : models.SlugField()
body : models.TextField()
date : models.DateTimeField(auto_now_add=True)
# ADD IN THUMNAILL LETTER
def __str__(self):
return self.title
Командная строка
Windows PowerShell
>>> from articles.models import Article
>>> Article
<class 'articles.models.Article'>
>>> Article.objects.all()
<QuerySet [<Article: Article object (1)>, <Article: Article object (2)>]>
>>> article = Article()
>>> article
<Article: Article object (None)>
>>> article.title = "hello world"
>>> article.title
'hello world'
>>> article.save()
>>> Article.objects.all()
<QuerySet [<Article: Article object (1)>, <Article: Article object (2)>, <Article: Article object (3)>]>
>>> Article.objects.all()[0].title
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'Article' object has no attribute 'title'
1 ответ
Вы определили вашу модель с двоеточием (:) intead равным (=) символу. Так что Ваша модель должна быть такой,
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
body = models.TextField()
date = models.DateTimeField(auto_now_add=True)
# ADD IN THUMNAILL LETTER
def __str__(self):
return self.title
Update-1
In [2]: # METHOD -- 1
In [3]: article_1 = Article()
In [4]: article_1.title = "my title 1"
In [5]: article_1.save()
In [6]: Article.objects.all()
Out[6]: <QuerySet [<Article: my title 1>]>
In [7]: # METHOD -- 2
In [8]: article_2 = Article.objects.create(title="my title 2")
In [9]: Article.objects.all()
Out[9]: <QuerySet [<Article: my title 1>, <Article: my title 2>]>