Django列出包含某些相同项目的类别中的项目
Posted
技术标签:
【中文标题】Django列出包含某些相同项目的类别中的项目【英文标题】:Django list off item in which category containing some same item 【发布时间】:2020-09-14 06:21:21 【问题描述】:您好,我有一个名为 ITEMS 的模型用于某些商品
项目 = 项目1、项目2、项目3、项目4、项目5、项目6、项目7
我该怎么做...
ITEMS 中的每个项目包含 4 个类别未分类、cat1、cat2、cat3
每个类别都包含一些来自ITEMS模型的项目,除了这个类别中的项目
例如...
item1有4个类别未分类,cat1、cat2、cat3
未分类 = item7
cat1 = item2, item3
cat2 = item4, item5
cat3 = item6, item7
除了 item1 女巫包含所有 4 个类别之外,所有类别都可以包含此项目中的任何一个
如何在 Django 中实现这种类型的模型结构..?
如果没有这样的模型。我该怎么做才能按自己的逻辑..?
如果您随时需要更详细的回复,请提前致谢。
【问题讨论】:
【参考方案1】:您应该创建另一个名为 CATEGORIES 的模型,然后您可以在 ITEMS 和 CATEGORIES 之间建立多对多关系。然后您可以使用以下代码获取一个类别的项目或一个项目的类别。
item = ITEMS.objects.get(id='item1')
item_categories = item.categories.all()
或
category = CATEGORY.objects.get(id='cat1')
category_items = category.items.all()
Django Many to Many relationship reference
【讨论】:
我用过,但问题是所有项目类别项目保持不变。我需要为每个项目类别提供真实的选择 在您的问题中,您为每个类别提供了不同的项目。在这里,您说它们是相同的。把它说清楚,你想达到什么目的? 我的多对多关系问题是......当我将项目添加到任何类别时,它会反映每个项目的类别。当我将项目添加到 Item1 时,我希望它只添加到项目 1 类别中,而不是全部。 你是怎么添加的?贴一些代码,我可以进一步指导你 我想要这种类型的模型或逻辑用于我的 android 应用程序交叉营销我有 10 个 android 应用程序。在我的应用程序中,我有 3 个广告部分(sec1、sec2、sec3)。当有人在这 3 个部分中打开一个应用程序时,会显示一个应用程序列表(我自己的应用程序来自 10 个列表)。我想在这三个部分中创建用于添加和删除应用程序的网站,因此当我添加或删除此应用程序时,我的应用程序会从数据库中获取详细信息并在列表中显示应用程序。所有应用程序都有相同的 3 个部分,但部分包含所有应用程序的不同列表。并且所有应用都有 3 个部分,其中包含不同的选定应用(来自 10 个列表)。以上是关于Django列出包含某些相同项目的类别中的项目的主要内容,如果未能解决你的问题,请参考以下文章