有没有办法使用HttpResponse的循环将django模型转换为关联数组。
class Guest(models.Model):
fname = models.CharField(max_length=200)
mname = models.CharField(max_length=200, default="", blank=True, null=True)
lname = models.CharField(max_length=200)
gender = models.CharField(max_length=20, choices=gender_choices, default="")
birth_date = models.DateField()
address = models.TextField()
phone = models.CharField(max_length=20)
mobile = models.CharField(max_length=20, default="", blank=True, null=True)
fax = models.CharField(max_length=20, default="", blank=True, null=True)
email = models.CharField(max_length=200)
id_type = models.CharField(max_length=200, default="", blank=True, null=True)
id_number = models.CharField(max_length=200, default="", blank=True, null=True)
我的预期结果是这样的
{
"fname" : "sample",
"mname" : "sample",
"lname" : "sample",
...
}
答案 0 :(得分:1)
SomeModel.objects.filter(id=pk).values()[0]
你会得到
{
"fname" : "sample",
"mname" : "sample",
"lname" : "sample",
...
}
我不鼓励__dict__
的使用,因为你会获得你不关心的额外字段。
或者,如果您想要更加可自定义的内容以添加计算字段,则可以在模型中创建to_dict
方法。
class Guest(models.Model):
#fields....
def get_dict(self):
return {
"fname" : self.fname,
"mname" : self.mname,
"lname" : self.lname,
}
使用它:instance.get_dict()
答案 1 :(得分:0)
guest = Guest.objects.get(pk=1)
print guest.__dict__