django查询不返回所有字段

时间:2017-03-22 10:43:36

标签: python django

我正在运行查询并希望显示所有字段。

question = Question.objects.get(pk=question_id)

在模型中

class Question(models.Model):
    #id = models.AutoField(primary_key=True)
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __str__(self):
        return self.question_text

当我在视图中打印数据时,它只返回问题文本,我还想显示id和日期。

模板

{{ question }}

3 个答案:

答案 0 :(得分:3)

您必须在模板中指定属性,例如{{ question.question_text }}。只使用{{ question }}有效,因为默认为repr的{​​{1}}被定义为str属性。

答案 1 :(得分:1)

String actual = "10684 ANNA MARIE DR, GLEN ALLEN, VA, APT 111, 23060";
String[] arr = actual.split(", ");
String result = arr[0] + ", " + arr[3] + ", " + arr[1] + ", " + arr[2] + " " + arr[4];

<强>模板

question = Question.objects.filter(pk=question_id)

或你的方式 的模板 {{question.pub_date}}

答案 2 :(得分:0)

而不是__str__,您应该使用__unicode__。请参阅:Python __str__ versus __unicode__

此外,您应该分别在模板中访问每个字段,但是如果您只想获取包含id,text和date的字符串,则可以修改该方法,因此它将所有字符串返回为:

def __unicode__(self): return unicode(self.id)+", "+self.question_text+", "+unicode(self.pub_date)