【发布时间】:2016-10-23 10:07:10
【问题描述】:
我想得到客户的全名,但最后我只得到了id。
orders = Order.objects.filter(restaurant=request.user.restaurant).order_by('customer__id').values('customer__id', 'customer__address', 'customer__avatar', 'customer').annotate(total_order= Count('customer__id'))
in value('customer') 我想得到客户全名,但我只得到 id。
from django.contrib.auth.models import User
class Customer(models.Model):
user = models.OneToOneField(User, on_delete= models.CASCADE, related_name= 'customer')
avatar = models.CharField(max_length= 500)
phone = models.CharField(max_length= 500, blank= True)
address = models.CharField(max_length= 500, blank= True)
def __str__(self):
return self.user.get_full_name()
谢谢。
【问题讨论】:
-
可以发下订单内容吗?
-
{% for order in orders %}Id 客户姓名 客户头像 客户地址 总订单 {% endfor %}{{ order.customer__id}} {{order.customer}} {{order.customer__avatar}} {{order.customer__address}} {{order.total_order}} -
订单型号
-
class Order(models.Model): customer = models.ForeignKey(Customer) restaurant = models.ForeignKey(Restaurant) driver = models.ForeignKey(Driver, blank= True, null= True) address = models.CharField(max_length= 500) total = models.IntegerField() status = models.IntegerField(choices= STATUS_CHOICES) created_at = models.DateTimeField(default= timezone.now) Pick_at = models.DateTimeField(blank= True, null= True ) def __str__(self): return str(self.id)
-
@VikoWijaya 您可以编辑原始问题以包含其他信息,而不是发布 cmets 或答案。
标签: python django django-queryset