当虚拟环境处于活动状态时,我已经在Anaconda cmd接口中使用pip安装了django复合foreignkey。在
当我像这样使用CompositeForeKey时:
PersOrg = CompositeForeignKey(Organisation, on_delete=CASCADE, to_fields={'ClientId', 'OrgCode'})
我得到错误:NameError:未定义名称“compositeForeKey”
我试过:
^{2}$但是得到错误:import django composite foreignkey^ SyntaxError:无效语法。在
如何使模型知道compositeForeKey的存在?或者有更好的方法来引用多字段外键。在
我有一个数据库,多个客户将在其中注册,例如定义他们自己在组织中工作的员工。在
通常,模型将具有以下定义:
class Person(models.Model):
ClientId = models.ForeignKey('clients.Client', on_delete=models.CASCADE,
to_field='id')
PersNumber = models.PositiveIntegerField(null=False)
PersSurName = models.CharField(max_length=40, null=False)
PersNames = models.CharField(max_length=40, null=False)
PersIsStaff = models.BooleanField(null=False)
PersMobile = models.CharField(max_length=13)
PersWork = models.CharField(max_length=13, blank=True)
PersEmail = models.EmailField(max_length= 80, blank=True)
PersWorkTitle = models.CharField(max_length=40)
PersOrg = CompositeForeignKey(Organisation, on_delete=CASCADE,
to_fields={'ClientId', 'OrgCode'})
class Meta:
unique_together = (('ClientId', 'PersNumber'),)
def __str__(self):
"""Return a string representation of the model"""
return str(self.PersNumber) + ' - ' + self.PersSurName + ' - ' + self.PersNames
在每个模型中,都有一个客户机id和一个(或多个)其他字段是唯一的。在
在上面的例子中,PersOrg字段是表“organization”的外键,其中字段“ClientId”、“OrgCode”定义外键。在
这个问题已经在这个论坛上被问到并得到了回答,但是我无法让compositeforewekey工作。在
我们将感激您的帮助
谨致问候
Phlip公司
django-composite-foreignkey
是项目的名称,但是Python包的名称是compositefk
,可以在test app中看到。所以你的进口应该是:我认为这是一个很奇怪的错误,但是看看the documentation它们从来没有真正显示导入,所以我认为公平地说,文档让您失望了。在
请注意,Python标识符不能包含
-
,这就是为什么会出现语法错误。在相关问题 更多 >
编程相关推荐