在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>]
答案 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