亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據類別 django 獲取數據

根據類別 django 獲取數據

青春有我 2022-07-12 10:24:37
(任何建議將不勝感激)我有文章的模型,如class Articles(models.Model):    restaurant = models.ForeignKey(Restaurant, on_delete=models.CASCADE , blank=True, null=True)    articlename = models.CharField(max_length=50, null=False, blank=False)    price = models.DecimalField(max_digits=10, decimal_places=2)    category = models.ForeignKey(Categories, on_delete=models.CASCADE , blank=True, null=True)現在我想以“每個類別都將以數據庫對象形式的所有文章”之類的形式獲取數據例如我有 2 篇文章,1 篇是“article1 有 cat1”,第二篇是“article2 有 cat2” 現在我想獲取這樣的數據 在 djangodata:[ cat1:[{article1},{}] , cat2:[{article2}] ] 中有沒有類似的東西?group by categories直到現在我已經嘗試過這段代碼order_article = OrderArticle.objects.filter(order__order_number=id ,order__restaurant=restid)         samearticle=[]        for order_obj in order_article:            if : #will check if article having cat already been created                category={}                category[order_obj.article.category.name]=order_obj                samearticle.append(order_obj.article.category.name)            else:                samearticle[order_obj.article.category.name].append(order_obj)
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

假設您的 Categories 模型有一個名稱字段。您實際上可以遍歷類別并使用相關對象引用獲取所有相關文章


order_article_list = OrderArticle.objects.filter(order__order_number=id ,order__restaurant=restid) 

data = {}

for order_article in order_article_list:

  data[order_article.article.category.name] = order_article.article.category.articles_set.all()


查看完整回答
反對 回復 2022-07-12
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

def index(request, category_slug=None):

    category = None

    categories = Category.objects.all()

    articles = Article.objects.all()

    if category_slug:

        category = get_object_or_404(Category, slug=category_slug)

        articles = articles.filter(category=categories)

    context = {

        'articles': articles,

        'categories': categories,

        'category': category,

    }

那么在你看來


{% regroup articles by category as articles_by_category %}

  {% for c in products_by_category %}

  

  {% endfor %}


查看完整回答
反對 回復 2022-07-12
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號