![](/img/trans.png)
[英]How to recieve not all fields from related(ForeignKey) django model using 'select_related'
[英]Django Sum all values with a distinct ForeignKey ID & zip them with fields from related table
我想執行與此類似的操作(即,在付款表中獲得不同事件金額的總和,然后按事件明細和為其支付的總金額對付款進行分組。還將獲得用戶及其為事件支付的金額)在Django中使用PostgreSQL。
我的模型如下:
class UserProfile(User):
onames = models.CharField(max_length=30, blank=True)
phoneNumber = models.CharField(max_length=15, blank=True)
regNo = models.CharField(max_length=15)
designation = models.CharField(max_length=3,choices=DESIGNATION_CHOICES, default='MEM')
image = models.ImageField(max_length=100,upload_to='photos/%Y/%m/%d', blank=True, null=True, default='photos/2010/03/placeholder.jpg')
course = models.CharField(max_length=30, blank=True, null=True)
timezone = models.CharField(max_length=50, default='Africa/Nairobi')
smsCom = models.BooleanField()
mailCom = models.BooleanField()
class Payments(models.Model):
username = models.ForeignKey(UserProfile, related_name='payer')
receiptNo = models.CharField(max_length=30, primary_key=True)
particulars = models.CharField(max_length=50)
date = models.DateField(auto_now_add=True)
amount = models.FloatField(max_length=99, blank=True)
eventID = models.ForeignKey('events', null=True, blank=True)
receiver = models.ForeignKey(UserProfile, related_name='receiver')
deleted = models.BooleanField()
class events(models.Model):
eventName = models.CharField(max_length=100)
eventID = models.AutoField(primary_key=True)
details = models.TextField()
attendanceFee = models.FloatField(max_length=99)
date = models.DateField()
username = models.ManyToManyField(UserProfile, related_name='user')
eventposter = models.ForeignKey(UserProfile, related_name='event_poster')
deleted = models.BooleanField()
經過一陣神經nerve,解決方案是將查詢分為2個,即一個用於分組和求和,另一個用於獲取匹配值。
有關分組和求和,請參見此處
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.