这是我的模特:
class People(models.Model):
name_text = models.CharField(max_length=200)
surname_text = models.CharField(max_length=200)
def __str__(self):
return "%s %s" % (self.name_text, self.surname_text)
这是我的观点:
def index(request):
people_list = People.objects.all()
######output = ', '.join([p.name_text for p in people_list])
output = ', '.join([People for p in people_list])
return HttpResponse(output)
我想看一个页面,显示所有名字和姓氏的人都在数据库中除以“,”,但我不知道如何做这个循环。我可能必须使用类别的def“ str ”,但我不知道如何。
有人可以帮助我吗?
答案 0 :(得分:1)
请尝试以下操作,为People.__str__()
中的每个条目调用people_list
。
def index(request):
people_list = People.objects.all()
output = ', '.join([str(p) for p in people_list])
return HttpResponse(output)
当您尝试以字符串形式加入人员列表时,原始代码段中出现错误:
output = ', '.join([People for p in people_list])
您正在生成一个未实例化的类列表(不是这些类的结果实例或对象),而是替换您的人员列表。