【问题标题】:Django how I can get all objects to the list from db?Django如何将所有对象从数据库中获取到列表中?
【发布时间】:2017-04-05 19:18:19
【问题描述】:

我想使用“ArticleBlock”,它必须有一些“文章”

我写了下一个模型

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 中获取列表?

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    1) 是的,它是正确的 2) 在官方文档上说 list(Query object) 应该返回一个包含结果的列表,它不起作用吗? 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}}

    访问这些变量

    【讨论】:

    • , , .... 我做不到:random.shuffle(articles_list)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 2020-06-10
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    相关资源
    最近更新 更多