从 Django 模型中获取自身实例

Get self instance from within model in Django

我想编写一个模型方法来轻松接收一些数据:

我的代码如下所示:

class Transfers(models.Model):

    amount = models.DecimalField(decimal_places=2, max_digits=7)
    person = models.ForeignKey("Person")

class Person(models.Model):
    name = models.CharField(max_length=255)
    user = models.ManyToManyField(User)

    def get_transfers(self):
        Transfers.objects.filter(person=self) //THIS IS NOT WORKING  

如何引用实例来过滤交易?

它应该可以正常工作,只是您没有返回任何东西。

随心所欲

def get_transfers(self):
    return Transfers.objects.filter(person=self)

通过不显式返回任何内容,None 被返回。

实现相同目标的另一种方法是:

class Person(models.Model):
    name = models.CharField(max_length=255)
    user = models.ManyToManyField(User)

    def get_transfers(self):
        return self.transfers_set.all()