我希望能够获取我的应用程序中所有钱包的列表-但每个钱包都需要指定为UserWallet,TeamWallet,CarWallet等。不应有通用的钱包实例。我仍然希望能够在其他模型(例如付款模型)中将外键设置为通用钱包模型,或者以某种方式链接到钱包,而每个子模型都没有一个外键。
我看到了通用类继承的这些优点:
通用类继承的缺点:
我看到了使用抽象类继承的这些优点:
抽象类继承的缺点:
由于我是Python和Django开发的新手,我想我遗漏了很多要点。您如何解决这些情况?
样机结构示例:
class Wallet(models.Model):
status = models.CharField(max_length=10)
is_default = models.NullBooleanField()
class UserWallet(Wallet):
user = models.ForeignKey(User, on_delete=models.CASCADE)
class TeamWallet(Wallet):
team = models.ForeignKey(Team, on_delete=models.CASCADE)
class Payment(models.Model):
wallet = models.ForeignKey(Wallet, on_delete=models.CASCADE)
感谢您的帮助和任何想法。