如何 return queryset as a list on separate lines, without the brackets
how to return queryset as a list on seperate lines, without the brackets
我有自己的课程模型:
class Lessons(models.Model):
student = models.ForeignKey(Students,
on_delete=models.SET_NULL, null=True)
headed_by = models.ForeignKey(Tutors,
on_delete=models.SET_NULL, null=True)
day = models.CharField(max_length=4,
choices=DAY_CHOICES, null=True)
start_time = models.TimeField(null=True,
blank=True)
type = models.CharField(max_length=7,
choices=TYPE_CHOICES, null=True)
price_band = models.CharField(max_length=7,
choices=PAYMENT_TYPE_CHOICES, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True )
def __str__(self):
return str(self.student) + " at " +
str(self.start_time)+ " on " + str(self.day)
class Meta:
ordering=['student',"headed_by",'day','start_time']
我有我的查询集:
tn_mon =
Lessons.objects.all().filter(headed_by__name="Tutor
Name").filter(day__icontains="Mon")
哪个return
<QuerySet [<Lessons:Studentname1 at Time on Day>,
<Lessons:Studentname2 at Time on Day>
我如何 return 没有查询集的输出,<> []
所以它 return 如下所示?
Studentname1 at Time on Day,
Studentname2 at Time on Day
您可以循环查询集并在每个对象上调用 str()
for obj in tn_mon:
print(str(obj))
或
将对象存储在 list
tn_mon_list = []
for obj in tn_mon:
tn_mon_list.append(str(obj))
tn_mon = Lessons.objects.all().filter(headed_by__name="Tutor
Name").filter(day__icontains="Mon").values()
#convert this object it into list
my_list = list(tn_mon)
#If you iterate list
for i in my_list:
print(i)
Then you will get this
output:
Studentname1 at Time on Day,
Studentname2 at Time on Day
如果您想要Json响应,只需将其转换为字典列表
data = []
for i in my_list:
data.append(i)
return JsonResponse(data, safe=False)
我有自己的课程模型:
class Lessons(models.Model):
student = models.ForeignKey(Students,
on_delete=models.SET_NULL, null=True)
headed_by = models.ForeignKey(Tutors,
on_delete=models.SET_NULL, null=True)
day = models.CharField(max_length=4,
choices=DAY_CHOICES, null=True)
start_time = models.TimeField(null=True,
blank=True)
type = models.CharField(max_length=7,
choices=TYPE_CHOICES, null=True)
price_band = models.CharField(max_length=7,
choices=PAYMENT_TYPE_CHOICES, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True )
def __str__(self):
return str(self.student) + " at " +
str(self.start_time)+ " on " + str(self.day)
class Meta:
ordering=['student',"headed_by",'day','start_time']
我有我的查询集:
tn_mon =
Lessons.objects.all().filter(headed_by__name="Tutor
Name").filter(day__icontains="Mon")
哪个return
<QuerySet [<Lessons:Studentname1 at Time on Day>,
<Lessons:Studentname2 at Time on Day>
我如何 return 没有查询集的输出,<> [] 所以它 return 如下所示?
Studentname1 at Time on Day,
Studentname2 at Time on Day
您可以循环查询集并在每个对象上调用 str()
for obj in tn_mon:
print(str(obj))
或
将对象存储在 list
tn_mon_list = []
for obj in tn_mon:
tn_mon_list.append(str(obj))
tn_mon = Lessons.objects.all().filter(headed_by__name="Tutor
Name").filter(day__icontains="Mon").values()
#convert this object it into list
my_list = list(tn_mon)
#If you iterate list
for i in my_list:
print(i)
Then you will get this
output:
Studentname1 at Time on Day,
Studentname2 at Time on Day
如果您想要Json响应,只需将其转换为字典列表
data = []
for i in my_list:
data.append(i)
return JsonResponse(data, safe=False)