我想写一个模型方法来轻松接收一些数据:
我的代码如下所示:
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
如何引用实例来过滤交易?
答案 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()