2016-04-01 12 views
3

私は私のdjangoアプリケーションに問題があります。私は2つのBlogオブジェクトを作成しました.1つはmysqlに、もう1つは自分のビューで作成しました。私は両方のデータベースに私のデータベースが表示されますが、私はそれらをクエリで取得するときに私は見ることができません。私はジャンゴ1.9、のpython 2.7を使用していDjangoクエリは空の文字列を返します

、mod_wsgiをここで

とapacheの2.2は、私の見解と私のテンプレートです。

def list_view(request): 
    blogs = Blog.objects.filter(published=True) 

return render_to_response('blog/list.html', 
    { 
     "blogs": blogs, 
    }, 
    context_instance=RequestContext(request)) 


{% for blog in blogs %} 
    <h2>{{blog.title}}</h2> 
    <p>{{blog.content}}</p> 
    <span>{% trans 'Writen by' %} : {{blog.writer.last_name}} {{blog.writer.first_name}}</span> - <span>{% trans 'Published on' %} {{blog.date_published}}</span> 
{% endfor %} 

クエリは2つのBlogオブジェクトを含むリストを取得しますが、空です。私のテンプレートには、Writen Byが表示されるだけで、2回公開されます。

しかし、ログインしてすべてのユーザー情報を印刷できます。

何が問題なのか、どうすれば解決できるのでしょうか?どうもありがとう !

EDIT:追加するには、Blog.__init__()をオーバーライドするとき、あなたは親に*args**kwargsを送信しませんでした

class Blog(models.Model): 
    title = models.CharField(_("Title"), max_length=255, null=False, blank=False) 
    content = models.TextField(_("Content"), null=True, blank=True) 

    writer = models.ForeignKey(User, verbose_name=_('Writer'), blank=False, null=False) 

    published = models.BooleanField(_("Pusblished"), default=False) 
    date_published = models.DateTimeField(_("Date published")) 

    def __str__(self): 
     return '%s' % (self.title) 

    def __init__(self, *args, **kwargs): 
     super(Blog, self).__init__() 
+1

を持っていますか?コードを表示します。 –

+0

models.py – Eowiena

答えて

3

models.py。 Django Modelの魔法はそれらのパラメータを必要とします。 __init__()で何もしていない場合は、すべてを一緒に削除することができます。

あなたはやる、それを維持したい場合のような何か:あなたのブログのモデルは、タイトル、内容、作家の属性を

def __init__(self, *args, **kwargs): 
    super(Blog, self).__init__(*args, **kwargs) 
+3

を追加しましたが、間違いなく削除する必要があります。 –

+0

私はそれを使用していないので削除しました。 – Eowiena

関連する問題