首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建一个额外的表来链接模型?

如何创建一个额外的表来链接模型?
EN

Stack Overflow用户
提问于 2020-05-13 15:07:31
回答 1查看 15关注 0票数 0

有两种模型Modules()ParentCategory()。它们在数据库中没有以任何方式链接。

代码语言:javascript
复制
class Modules(models.Model):
    .....

class ParentCategory(models.Model):
    ....

我想使他们之间的联系在以下原则。一个模块包含几个类别。用字典描述此结构,其中字典键-模块名称和属于该模块的类别列表的值。

代码语言:javascript
复制
pc_to_modules_assign = {
                            "DTH": ['COMMON S2P', 'COMMON SOURCING', 'SERVICES', 'SOURCING'],
                            "KLK": ['COMMON S2P', 'COMMON SOURCING', 'SERVICES', 'SXM'],
                            "ODJU": ['COMMON S2P', 'SERVICES', 'Analytics'],
                            "TD": ['COMMON S2P', 'SERVICES', 'CLM'],
                            "MNH": ['COMMON S2P', 'SERVICES', 'eProcurement'],
                            "OPI": ['COMMON S2P', 'SERVICES', 'I2P'],
                            "AP": ['COMMON S2P', 'SERVICES', 'I2P', 'AP'],
                            "DF": ['COMMON S2P', 'COMMON SOURCING', 'SERVICES', 'SOURCING', 'SXM', 'Analytics', 'CLM'],
                            "CVB": ['COMMON S2P', 'SERVICES', 'eProcurement', 'I2P'],
                            "GFT": ['COMMON S2P', 'COMMON SOURCING', 'SERVICES', 'SOURCING', 'SXM', 'Analytics', 'CLM', 'eProcurement', 'I2P']
                             }

列表中有一个primary类别。在这样的模型中应该使用什么样的连接,或者近似地需要哪些字段。差不多吧。

代码语言:javascript
复制
class PCtoModules(models.Model):
    m = .....Modules
    pc = ....ParentCategory
    primary = models.BooleanField(default=False)

但我搞不懂该申请哪种类型的联系。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 15:38:53

你不需要额外的桌子。我将以以下方式将它们连接起来:

代码语言:javascript
复制
class Modules(models.Model):
    primary_category = models.ForeignKey('ParentCategory')
    categories = models.ManyToManyField('ParentCategory')

class ParentCategory(models.Model):
    ....

现在,如果我们说moduleModule类的一个实例,那么您可以访问模块的主要类别:

代码语言:javascript
复制
module.primary_category

和所有指定的类别包括:

代码语言:javascript
复制
module.categories
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61778130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档