我对sum({$ <GlYear = {"{'1'} =$(=max(GlYear))"}, GlPeriod = {"{'1'} <=$(=max(GlPeriod))"}>}Movement)
很陌生,所以我的问题似乎非常微不足道......
我有2个模型(为了演示而简化):
django
和
class Subarticle(models.Model):
parent_article = models.ForeignKey(Article, related_name='subarticles')
priority = IntegerField()
....
def getCheapest(self, quantity): //find cheapest subarticle based on qty
//code
所以基本上每篇文章都有一个或多个子文章,我希望能够根据价格最低的子文章找到最优先级的文章的成本。
我正在使用&#34; class Article(models.Model):
sub_article_qty = models.IntegerField()
def production_cost(self):
sub_article = Subarticle.objects.filter(parent_article=self).order_by('priority').first
sub_article_price = sub_article.getCheapest(self.sub_article_qty)
return sub_article_price*self.sub_article_qty
&#34;使用大约rest_framwork
serializer
但尝试这样做会给我带来以下错误:
from .models import Subarticles, Articles
from rest_framwork import serializers
class SubarticleSerializer(serializer.HyperlinkedModelSerializer):
class Meta:
model=Subarticle
fields=('parent_article','priority')
class ArticleSerializer(serializer.HyperlinkedModelSerializer):
class Meta:
model=Article
fields=('sub_article_qty','subarticles','production_cost')
是否有可能按照我的目的去做,或者是否有其他方法可以实现这一目标?
答案 0 :(得分:0)
first
是一种方法;你没有打电话给它。
sub_article = Subarticle.objects.filter(parent_article=self).order_by('priority').first()
注意,更简单的拼写方法是:
sub_article = self.subarticles.all().order_by('priority').first()