【发布时间】:2020-04-05 23:16:36
【问题描述】:
我有两个模型。
models.py:
class Drink(models.Model):
account = models.ForeignKey(Account, null=False, on_delete=models.CASCADE)
name = models.CharField(max_length=100, null=False, blank=False)
# some other fields that don't matter now...
class DrinkStock(models.Model):
ingredient = models.ForeignKey(Ingredient, null=False, on_delete=models.CASCADE)
quantity = models.DecimalField(max_digits=14, decimal_places=3, null=False, default=0.000)
date = models.DateTimeField(auto_now_add=True)
在有人发布不同的解决方案之前,让我解释一下为什么我有两个模型。
这个想法是有一个股票历史。当我展示所有饮料时,我只需要展示它们最后一个相关的stock(最新的date)。
views.py
def drinks(request):
drinks = Drink.objects.select_related('stock').filter(account__id=request.session['account_id'])
但是如何将每个drink 的相关stock 附加到最新的date?
【问题讨论】:
-
听起来像是多态关联
标签: python django django-queryset