我想使用“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))})
我希望获得带有文章的list(),以便对它们进行随机排序。 我如何从db获取列表?
答案 0 :(得分:0)
1)是的,这是正确的 2)关于官方文档说明列表(Query对象)应该返回一个带有结果的列表,是不行的? 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)
为了更好的阅读。 注意:将变量放在上下文dict中不会更改模板中的访问名称,您仍然可以使用{{ArticleBlock_name}}
访问这些变量