模型对象是反映对象而不是标题

时间:2017-04-20 10:54:22

标签: python django django-models

在django中,当我尝试查看我的[Post.objects.all()]结果Post:Post Object而不是Post: title时。 enter image description here

这是我的models.py

    from django.db import models
# Create your models here.
class Post(models.Model):
    post_title=models.CharField(max_length=50,blank=False)
    post_content=models.TextField()
    creation_date=models.DateTimeField(auto_now=False,auto_now_add=True)
    lastDate_modified=models.DateTimeField(auto_now=True,auto_now_add=False)

def __str__(self):
            return self.post_title

,输出为>>> Post.objects.all() [<Post: Post object>, <Post: Post object>]

3 个答案:

答案 0 :(得分:0)

尝试为Post模型创建 str 方法,如下所示:

class Post(models.Model):
    author = models.ForeignKey('auth.User')
    title = models.CharField(max_length=200)
    description = models.TextField()
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

覆盖 str 方法可能适合您。

答案 1 :(得分:0)

如果您没有使用print,请尝试此操作。

def __repr__(self):
    return self.post_title

print将调用__str__,其中控制台输出为__repr__

答案 2 :(得分:0)

我不知道这是你的剪切和粘贴,但代码中的缩进是错误的

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="wrapper">
  <input class="jump go" />
  <input class="go" />
  <input class="nogo" />
  <input class="yoyofasho" />
  <br />
  <a>a different element</a>
  <br />
  <a>even another different element</a>
</div>

应该是:

class Post(models.Model):
    post_title=models.CharField(max_length=50,blank=False)
    post_content=models.TextField()
    creation_date=models.DateTimeField(auto_now=False,auto_now_add=True)
    lastDate_modified=models.DateTimeField(auto_now=True,auto_now_add=False)

def __str__(self):
            return self.post_title