2017-04-05 14 views
-1

私は「ArticleBlock」を使用したい、それは私が次のモデル DjangoどのようにDBからリストにすべてのオブジェクトを取得できますか?

class ArticleBlock(models.Model): 
    class Meta: 
     db_table = "articleblock" 
    articleBlockName = models.CharField(max_length=50) 


class Articles(models.Model): 
    class Meta: 
     db_table = "articles" 
    articles_titel = models.CharField(max_length=50) 
    articles_text = models.TextField() 
    articles_date = models.DateTimeField() 
    articles_main = models.ForeignKey(ArticleBlock) 

最初の質問

を書いた

いくつかの「記事」を持っている必要がありますか? 正しいですか?私はいくつかのブロックに多くの記事をバインドしたい場合は? view.pyで は、私は次があります。

def article_theme(request, articleblock_id=2): 
    return render_to_response('article_theme.html', 
    {"ArticleBlock_name": ArticleBlock.objects.get(id=articleblock_id), 
    'articles_list':list(Articles.objects.filter 
    (articles_articleblock_id=articleblock_id))}) 

私はそれらをランダムに並べ替えるには、記事で)(リストを取得します。 DBからどのようにリストを取得できますか?

答えて

0

1)はいいいえ 2)公式ドキュメントでは、そのリスト(クエリオブジェクト)は結果のリストを返す必要がありますが、それは機能していませんか? https://docs.djangoproject.com/en/dev/ref/models/querysets/

と私は常にこのような応答を送信する前に、変数を宣言するだけの提案:より良い読書のため

def article_theme(request, articleblock_id=2): 
    ArticleBlock_name = ArticleBlock.objects.get(id=articleblock_id) 
    articles_list = list(Articles.objects.filter(articles_articleblock_id=articleblock_id)) 
    context = { 
     "ArticleBlock_name": ArticleBlock_name, 
     "articles_list":articles_list 
    } 

    return render_to_response('article_theme.html', context) 

。 注:変数をコンテキスト内に置くと、テンプレート内のアクセス名は変わりませんが、{{ArticleBlock_name}}

+0

でこれらの変数にアクセスすることはできます。、<記事:記事オブジェクト>、。 ...と私はできません:random.shuffle(articles_list) –

関連する問題