为了演示一些特性,我需要在Postgres数据库中动态创建一系列模型和关系。
问题是,这些模型不能干扰Django应用程序的正常运行,也不能由查询返回。但是,它们必须具有模型的完整行为集,并且能够在演示过程中由查询返回。
使用工厂(我们主要使用Factory Boy )是不完善的,因为模型不能在不保存到数据库的情况下被查询,在这一点上它们与常规操作查询交互。
第二个数据库也不完美,因为演示发生在正常的应用程序操作期间,因此“有效”的模型实例仍然需要可用。
将模型标记为is_demo也不起作用,因为需要实例化六种不同类型的模型才能使演示按预期工作。
我可以清除使用cron作业或类似作业创建的特定模型,但它们会在创建和调度作业之间影响数据库。
在登台环境中运行一切都是可以接受的,但理想的答案是允许我在生产构建上运行演示。
有没有我遗漏的可接受的方法或有用的库?
演示中涉及的示例模型:
class Transaction(models.Model):
amount = models.DecimalField(max_digits=8, decimal_places=2, db_index=True,
editable=False)
assigned_user = models.ForeignKey(User, on_delete=models.CASCADE)
date = models.DateField(db_index=True, editable=False)
description = models.CharField(max_length=255, null=True, blank=True)
is_declined = models.BooleanField(default=False)
is_pending = models.BooleanField(db_index=True)
fi_account = models.ForeignKey(
FinancialAccount, on_delete=models.CASCADE)
@property
def organization(self):
org = self.fi_account.organization
return org我们需要能够查询这个模型并成功地使用它的.organization属性。而不会影响其他查询。
https://stackoverflow.com/questions/44507274
复制相似问题