从Django中的模型中获取自我实例

时间:2015-01-11 19:07:04

标签: python 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  

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

1 个答案:

答案 0 :(得分:2)

它应该有效,除非你没有返回任何东西。

只做

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()