如何制作多种类型的模型并在 Django 中以相同的名称引用它们?

问题描述

我是 Django 的新手。 我想要帐户和交易的功能。帐户可以有三种类型的交易。收入、支出和转移。它们之间都有一些共同的领域。但也有一些额外的字段。我想知道我可以制作这样的模型,以便我可以访问帐户的所有交易。 我也想在休息框架中使用它们。可以这样做吗?

from django.db import models

class Account(models.Model):
     name = models.CharField(max_length=50)
     balance = models.DecimalField(max_digits=7,decimal_places=1)
     def __str__(self):
         return self.name


class Transaction(models.Model):
    amount = models.DecimalField(max_digits=7,decimal_places=1)
    title = models.CharField(max_length=200)
    date_created = models.DateTimeField(auto_now=True,auto_now_add=False)
    account = models.ForeignKey(Account,on_delete=models.CASCADE,related_name='account')

    def __str__(self):
         return str(self.amount)


class Income(models.Model):
    source = models.CharField(max_length=200)
    transaction = models.ForeignKey(Transaction,related_name='transaction')


class Expense(models.Model):
    category = models.CharField(max_length=200)
    transaction = models.ForeignKey(Transaction,related_name='transaction')


class Transfer(models.Model):
    to = models.ForeignKey(Account,on_delete= models.CASCADE,related_name='to')
    transaction = models.ForeignKey(Transaction,related_name='transaction')

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)