Django对象.all()方法以字符串格式(带有sqlite)返回我的列表

2024-10-01 05:05:37 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,如果我的问题听起来很愚蠢,因为我是新来的Django。在

我在Django有这样的看法:

def myview(request):

list = Ref.objects.all()

return render_to_response('annonces.html', {'list': list} ,RequestContext(request)) 

Ref是一个小型的sqlite数据库,我在其中存储从web上获取的内容。在

在我的django模板中,我希望在列表对象(hurl)的一个字段上循环,该字段包含一个链接(图像)列表,以便在我的网页上显示它。我试过了:

^{pr2}$

不幸的是,它不起作用。对象列表将所有内容转换为字符串,以便模板中的循环为字段hurl中的每个字符创建一行。在

你知道如何让我的对象把hurl渲染成一个列表而不是一个字符串吗?在

下面是一个价值.hurl公司名称:

u"['http://3.visuels.poliris.com/thumbnails/3/3/6/5/3365ddc7-3f27.jpg', 'http://1.visuels.poliris.com/thumbnails/1/2/b/6/12b6c286-372f.jpg', 'http://b.visuels.poliris.com/thumbnails/b/4/f/3/b4f32a1c-3159.jpg']"

这是模型。不确定URLField是否适合hurl。在

class Ref(models.Model):

ref = models.IntegerField(max_length=10, primary_key='True')
title = models.CharField(max_length=500)
hurl = models.URLField()
url = models.URLField()
prix = models.CharField(max_length=500)

谢谢 吉尔


Tags: 对象comrefhttp列表modelslengthmax
1条回答
网友
1楼 · 发布于 2024-10-01 05:05:37

您应该更改对象模型并将hurl的多个值存储为另一个对象。在

该对象应该有一个ForeignKey到您的Ref对象:

class Ref(models.Model):
    # snip

class Link(models.Model):
    url = models.CharField(...)
    ref = models.ForeignKey("Ref")

然后,在模板中执行以下操作:

^{pr2}$

在您看来,为了获得更好的性能,请执行以下操作:

list = Ref.objects.prefetch_related("link_set").all()

相关问题 更多 >