有两种模型Modules()和ParentCategory()。它们在数据库中没有以任何方式链接。
class Modules(models.Model):
.....
class ParentCategory(models.Model):
....我想使他们之间的联系在以下原则。一个模块包含几个类别。用字典描述此结构,其中字典键-模块名称和属于该模块的类别列表的值。
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类别。在这样的模型中应该使用什么样的连接,或者近似地需要哪些字段。差不多吧。
class PCtoModules(models.Model):
m = .....Modules
pc = ....ParentCategory
primary = models.BooleanField(default=False)但我搞不懂该申请哪种类型的联系。
发布于 2020-05-13 15:38:53
你不需要额外的桌子。我将以以下方式将它们连接起来:
class Modules(models.Model):
primary_category = models.ForeignKey('ParentCategory')
categories = models.ManyToManyField('ParentCategory')
class ParentCategory(models.Model):
....现在,如果我们说module是Module类的一个实例,那么您可以访问模块的主要类别:
module.primary_category和所有指定的类别包括:
module.categorieshttps://stackoverflow.com/questions/61778130
复制相似问题