我继承了一个经过重新设计的数据库,其中包括添加外键和唯一约束。因此,之前的测试对这些模型无效,我正在重写单元测试。
我的models.py
文件中有两个类:
class Parentorgs(models.Model):
parentorg_id = models.IntegerField(primary_key=True)
parentorg = models.CharField(max_length=100L, db_column='ParentOrg', unique = True)
eff_date = models.DateField()
exp_date = models.DateField(null=True, blank=True)
class Meta:
db_table = 'txn_parentorgs'
class Contracts(models.Model):
parentorg_id = models.ForeignKey(Parentorgs)
contractnum = models.CharField(max_length=10L, db_column='ContractNum', primary_key = True)
eff_date = models.DateField()
exp_date = models.DateField(null=True, blank=True)
contractname = models.CharField(max_length=100L, db_column='ContractName') # Field name made lowercase.
class Meta:
db_table = 'txn_contracts'
如何在 setup 方法中创建用于单元测试的对象?我试过了
self.parentOrg = Parentorgs.objects.create(parentorg_id = 300,
parentorg = "TestParentOrgOne", eff_date = timezone.now(), exp_date = None)
self.contracts = Contracts.objects.create(parentorg_id = self.parentOrg,
contractnum = "1234", eff_date = timezone.now(), exp_date = None,
contractname = "testContractName")
这在创建contracts
对象时给了我一个错误,因为我收到了一个unknown column 'parentorg_id_id' in field list
错误。
如何在这里创建具有适当关系的parentOrg
和对象?contracts