如何使用M2M模型对具有值和另一个字段值的字段进行排序。
模型是:
from django.db import models
class CalculatedValue(models.Model):
Name = models.CharField( max_length=200 )
Value = models.FloatField()
class MyModel(models.Model):
Calculated_values = models.ManyToManyField( CalculatedValue )
一个例子是:
#first instance
mdlOne = MyModel.objects.create()
topping = CalculatedValue.objects.create(Name='Cheese', Value=8. )
mdlOne.Calculated_values.add( topping )
favorite = CalculatedValue.objects.create(Name='Up Vote', Value=4. )
mdlOne.Calculated_values.add( favorite )
#second instance
mdlTwo = MyModel.objects.create()
anotherTopping = CalculatedValue.objects.create(Name='Cheese', Value=6. )
mdlTwo.Calculated_values.add( anotherTopping )
我想用奶酪值对MyModel进行排序。在此示例中,查询集将是(mdlTwo,mdlOne)。
如果我只想按CalculatedValue值排序,我可以这样做:
MyModel.objects.all().order_by(‘Calculated_values__Value’)
当我希望通过Value where name ='Cheese'进行排序时,上面将按所有值排序。我不知道如何和名字='奶酪'。