如何解决是否可以有一个外键引用 Django 中的几个类?
我正在为会计系统建模。 我有以下型号:
class GeneralAccount(MPTTModel):
parent = TreeForeignKey('self',on_delete=models.CASCADE,null=True,blank=True,related_name='children')
name = models.CharField(max_length=100,verbose_name='Account Name')
code = models.CharField(max_length=10,verbose_name='Account Code')
balance = models.DecimalField(max_digits=9,decimal_places=2)
class InventoryAccount(GeneralAccount):
description = models.TextField()
price = models.DecimalField(max_digits=9,decimal_places=2)
cost = models.DecimalField(max_digits=9,decimal_places=2)
available_stock = models.DecimalField(max_digits=9,decimal_places=2)
value = models.DecimalField(max_digits=9,decimal_places=2)
class JournalEntry(models.Model):
transaction_date = models.DateField(verbose_name='Transaction Date',default=django.utils.timezone.now)
account_from = models.ForeignKey(GeneralAccount,on_delete=models.PROTECT) # THIS IS THE PROBLEM
account_to = models.ForeignKey(GeneralAccount,on_delete=models.PROTECT) # THIS IS THE PROBLEM
amount = models.DecimalField(max_digits=9,decimal_places=2,null=True)
我的问题是在 account_from/account_to
字段。
目前,它只接受 GeneralAccount
,但我也希望它接受 InventoryAccount
,因为本质上它是一个只有一些专门领域的 MPTTModel/GeneralAccount
。
我唯一能想到的就是为 Inventory 创建一个单独的 JournalEntry
类,但我更愿意简化它。实际上,如果我只能拥有一种 MPTT 模型(即一个帐户模型),那将是更可取的。
有没有办法解决这个问题?
附言我已经检查了几个会计 github 存储库,但基本上它们没有实施辅助分类帐帐户。它们都是总帐科目。单独的 InventoryAccount 类是我尝试实现辅助分类帐的尝试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。