LoginSignup
1
0

More than 5 years have passed since last update.

Django での AttributeError

Posted at

Django でちょっとハマったのでメモ。

コードとエラー

models.py
from django.db import models

class Foo(models.Model):
    title = models.CharField(name='タイトル')
    content = models.TextField(name='内容')

    def __str__(self):
        return self.title
Shell
~/path/to/proj $ python manage.py shell
...
>>> from bar.models import Foo
>>> foo = Foo()
>>> foo.title = "Hoge"
>>> foo.content = "Fuga"
>>> foo.save()
>>> Foo.objects.all()
Traceback (most recent call last):
  File "<console>", line 1 in <module>
  ...
  File "/path/to/proj/bar/models.py", line 8, in __str__
    return self.title
  AttributeError: 'Foo' object has no attribute 'title'
>>> exit()

解決策

models.py
from django.db import models

class Foo(models.Model):
    title = models.CharField(verbose_name='タイトル')
    content = models.TextField(verbose_name='内容')

    def __str__(self):
        return self.title

name='タイトル' , name='内容'
verbose_name='タイトル', verbose_name='内容' にしたら直った。

また name='タイトル' , name='内容' のままで __str__

models.py
...
def __str__(self):
    return self.タイトル

に変えてもAttributeErrorが出なくなった。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0