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列出包含某些相同项目的类别中的项目的主要内容,如果未能解决你的问题,请参考以下文章

如何根据对象属性字符串过滤“ngFor”循环内的项目

选择项目仅在某些类别中的行

列出 Joomla 中的兄弟项目! K2项目页面

在多维数组中按类别列出项目 - jquery

如何在 django 中添加项目下拉菜单

根据标准标记项目