如何将django模型对象和相关对象转换为字典列表?

时间:2016-02-13 23:57:09

标签: python django dictionary django-models

模型就像

class Customer(models.Model):
    name = models.CharField(max_length=100)

class Payment(models.Model):
    amount = models.DecimalField(max_digits=4, decimal_places=2) 
    customer = models.ForeignKey(Customer, models.CASCADE)

我希望列出像

这样的列表
[
    {
        'name': 'Tom',
        'Payment': [{'amount': 10},{'amount': 20}]
    },
    {
        'name': 'Jack',
        'Payment': [{'amount': 30},{'amount': 10}]
    }
]

我尝试使用值,但它需要我知道相关对象的所有字段名称是否有其他方法可以在不知道字段名称的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

q_customer = Customer.objects.all()
L = []
for customer in q_custmer:
  Dcustomer = {'name':customer.name,
         'Payment':[{'amount',x.amount} for x in customer.payment_set]
  L.append[D]

# L now holds the list