0

models.py

from django.db import models
import datetime
from django.utils import timezone

class Poll(models.Model):

    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __unicode__(self):
        return self.question

class Choice(models.Model):

    poll = models.ForeignKey(Poll)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

    def __unicode__(self):
        return self.choice_text

入るたびに

Poll.objects.all()

Poll は、表示するテーブル名です。

[<Poll: Poll object>,<Poll: Poll object>]

しかし、出力にテーブルの内容を含めたいです。私は何をすべきか?私はpythonが初めてなので、私を助けてください。

私はもう試した:

class Poll(models.Model):
    title = models.CharField(max_length=128)

    def __unicode__(self):
        return self.title

上記の手順を試しましたが、 python manage.py shell を実行すると ERROR IndentationError: unexpected indent (models.py, line 8) が発生します

4

3 に答える 3

1

djangoのドキュメントから(モデルのトピックについてさらに詳しく説明しています)

class Poll(models.Model):
    title = models.CharField(max_length=128)

    def __unicode__(self):
        return self.title

投票の内容を表示したい場合as_tableは、適切な HTML を返す (または、テンプレート タグを使用して部分的なテンプレートをレンダリングする) ようなメソッドをモデルに含めることができます。

テンプレートにコンテキスト変数を定義as_tableして持っていると仮定するとpoll、 を使用して投票コンテンツをレンダリングできます{{poll.as_table}}

テンプレートの詳細: https://docs.djangoproject.com/en/1.5/topics/templates/

この__unicode__メソッドは、複雑なレンダリングを実行するために使用すべきではなく、主に生成された管理ページで役立つように使用されます。

于 2013-05-11T04:06:58.823 に答える