我有一個android客戶端連接到的django rest api。一個在Django的REST框架API模型被稱爲Debt
:返回所有用戶債務的查詢集?
class Debt(models.Model):
paying_user = models.ForeignKey(User, related_name="paying_user")
receiving_user = models.ForeignKey(User, related_name="reeceiving_user")
amount = models.FloatField()
currency = models.CharField(max_length=10, default="USD")
description = models.CharField(max_length=100, blank=True)
date_incurred = models.DateTimeField(default=timezone.now)
deadline = models.DateTimeField()
payed = models.BooleanField(default=False)
overdue = models.BooleanField(default=False)
class Meta:
verbose_name = "Debt"
verbose_name_plural = "Debts"
objects = DebtManager()
def save(self, *args, **kwargs):
if self.paying_user == self.receiving_user:
raise ValidationError("Users cannot be in debt with themselves.")
super(Debt, self).save(*args, **kwargs)
在DebtManager
我有一個函數命名all_debt
:
def all_debts(self, user):
''' Returns a queryset of all a user's debts '''
all_debt_queryset = ... # What do I write here?
return all_debt_queryset
要檢索用戶的所有債務,我需要得到所有Debt
對象,其中paying_user
屬性等於user
參數(當前用戶)和所有Debt
對象,其中receiving_user
屬性等於user
參數。
如何獲得一個包含所有用戶債務的查詢集?
我建議從DebtManager中刪除'all_debts'函數。它不適合擔任經理的職能。雖然它更適合債務模型的功能 –