我在将 sql 分组写入 django 应用程序时遇到问题。你们中的任何 django 用户都可以帮助我如何将这个 sql 写成对 django 友好的代码吗?这是我的模型:
class Stock(models.Model):
name = models.CharField("Stock's name", max_length=200)
symbol = models.CharField("Stock's symbol", max_length=20)
class Dividend(models.Model):
amount = models.FloatField(default=0)
date = models.DateField('pay date')
stock = models.ForeignKey(Stock)
class UserStock(models.Model):
amount = models.FloatField('amount', default=0)
date = models.DateField('buy date')
price = models.FloatField('price', default=0)
user = models.ForeignKey(User)
stock = models.ForeignKey(Stock)
这是我想用 django 编写的 sql 代码:
select stock_id, sum(price), sum(amount) as price from stocks_userstock group by stock_id;
我试图写这样的东西。
my_stock = UserStock.objects.filter(user=request.user)\
.annotate(sum_price = sum('price'), sum_amount = sum('amount'))
提前谢谢,我希望这对你们中的一些人来说不是问题。