django get display annotate
Models (short):
class Canvas(models.Model):
C_TYPE_CHOICES = (
('L', 'Lack'),
('M', 'Matt'),
('me', 'Met'),
('S', 'Satin'),
('pe', 'Pearl'),
('p', 'Photo'),
)
#in reports c_type_chioces must me the same as here!!
c_type = models.CharField(max_length=30, verbose_name=u'Òèï', choices
= C_TYPE_CHOICES, default = 'L')
c_width = models.DecimalField(max_digits=12, decimal_places=2,
verbose_name=u'Øèðèíà', validators=[MinValueValidator(0)])
class Order(models.Model):
part = models.ForeignKey('warehouse.Part',
verbose_name=u'Êîìïëåêòóþùàÿ', related_name='order_part_a',
blank=True, null=True)
canvas = models.ForeignKey('warehouse.Canvas', verbose_name=u'Òèï
ïîëîòíà', related_name='order_canv_a', blank=True, null=True)
I make an annotate:
sum_parts_c = Order.objects.filter(o_type = '1',
entry_date__range=(start_date, end_date)).values('canvas').annotate(o_sum
= Sum('full_price'), c_sum=Sum('cost'), o_count = Count('id'), a_sum =
Sum('amount'), c_name = Min('canvas__c_type'), c_width=
Min('canvas__c_width') , p_c_name = Min('canvas__prod__name'))
How do I become in 'c_name' the name of type and not code? something like
get_ _display().
No comments:
Post a Comment