【发布时间】:2023-03-24 22:55:01
【问题描述】:
我需要获取包含“客户”字段和关联的第一个电话号码的 json 响应。
# models.py
class Customer(models.Model):
name = models.CharField(max_length=255)
surname = models.CharField(max_length=255,)
...
class CustomerPhone(models.Model):
customer = models.ForeignKey(Customer, related_name = 'phones', on_delete=models.CASCADE)
phone_number = PhoneNumberField()
...
我的客户可以有更多电话号码,但在汇总表中我只想看到第一部电话(带有最小 ID)
当我尝试使用这个查询集时:
Customer.objects.all().values('surname','phones__phone_number')
我得到
<QuerySet [{'surname': 'Gates', 'phones__phone_number': '+39123456789'}, {'surname': 'Gates', 'phones__phone_number': '+3998765431'}, {'surname': 'Trump', 'phones__phone_number': '+32123456001'}, {'surname': 'Trump', 'phones__phone_number': '+3298765000'}]>
对于只有一个电话号码的客户,我只能获得一个结果吗? 我能得到什么
【问题讨论】:
标签: django django-models django-queryset