私はこれを通過しましたhttps://docs.djangoproject.com/en/1.1/ref/models/querysets/#values-fields しかし、私の要件は異なります。djangoモデルからリストされたフィールドを選択
私は、カスタムの飼い葉桶と店のモデルを持っている:
class VegManager(models.Manager):
def get_query_set(self):
return super(VegManager, self).get_query_set().filter(plus=True)
class FruitsManager(models.Manager):
def get_query_set(self):
return super(FruitsManager, self).get_query_set().filter(plus=True)
class SweetsManager(models.Manager):
def get_query_set(self):
return super(SweetsManager, self).get_query_set().filter(plus=True)
class Store(models.Model):
vegetable = models.BooleanField()
veg1_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
veg2_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
veg3_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
fruits = models.BoolearnField()
fruit1_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
fruit2_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
fruit3_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
sweets = models.BooleanField()
sweet1_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
sweet2_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
sweet3_price = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True)
objects = models.Manager()
v = VegManager()
f = FruitsManager()
s = SweetsManager()
class Veg(Store):
class Meta:
proxy = True
class Froots(Store):
class Meta:
proxy = True
class Sweet(Store):
class Meta:
proxy = True
は私がsweets.v.all()
を行い、場合、それは私の野菜の価格だけを与えるという方法はありますか?お菓子やフルーツのすべての価格データを取得する代わりに?
ありがとうございます!
おかげで、これは単純なアプローチです。 – user993563